Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hale»connect API documentation #71

Merged
merged 5 commits into from
Nov 22, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions docs/references/haleconnect-api/2023-11-15-haleconnect-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
title: "hale»connect API"
categories:
- "help-page-category-reference"
- "help-page-subcategory-reference-API"
layout: help-detail
language: en

---

The hale»connect platform can be accessed via API. The hale»connect API enables users to automatically execute workflows, change configuration settings, manage organisations and users, and many other tasks. A series of access URLs permit access to various platform functionality exposed via API. To begin exploring the hale»connect API, it is necessary to log-in using your hale»connect user name and password, in Swagger.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A series permit -> a series permits ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To begin exploring the hale»connect API, it is necessary to log-in using your hale»connect user name and password, in Swagger.
Is it really necessary to use/log in to swagger? We do use many API calls to update resources on the platform etc. without using swagger.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JohannaOtt
A series of access URLs (plural subject) = permit (plural verb conjugation)

Can you provide a description of other ways you use the hc apis? Or what you would like added here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is interesting, thanks for explaining. In German, it would be singular verb conjugation because it is only 1 series.

Can you provide a description of other ways you use the hc apis?

Some examples of using API calls without swagger are for example available in this and this guru card and many more are used in the update tool box we are using in the service team. I assume there are also endpoints available for all of them in swagger (not sure at all though)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some examples of using API calls without swagger are for example available in this and this guru card and many more are used in the update tool box we are using in the service team. I assume there are also endpoints available for all of them in swagger (not sure at all though)?

@stempler I have a few questions:

Should curl instructions be added here, or to a separate page about using the hc api with curl?

Are all endpoints listed in the guru cards also available in Swagger?

Does the hc api support any HTTP operations beyond GET, POST, PUT and DELETE? These are the only 4 I can see in Swagger....

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should curl instructions be added here, or to a separate page about using the hc api with curl?

Swagger will show a curl example why trying out a request. Generally I think we should focus on the Swagger/OpenAPI documentation for details and not maintain something else in addition.

Are all endpoints listed in the guru cards also available in Swagger?

Usually yes. There may be some exceptions.
The documentation in the Guru cards probably adds some more information about what the endpoints do any what they are for.


Enter this URL in your favorite browser: https://haleconnect.com/swagger/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe include a general note for the whole document: Throughout the document _https://haleconnect.com_ is used as domain, but replace it with your own custom domain if you have one.


For on-premise users, enter: https://[yourdomain]/swagger/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depends on if they have enabled it.


Select Login, and provide your hale»connect user name and password to obtain an authentication token. Click in the Model Schema field on the right hand side to copy the code template to the body.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it guaranteed that they will see the Login endpoint when they open swagger? Otherwise maybe include: if you don't see the login endpoint already, enter in the top bar URL input _https://haleconnect.com/accounts/swagger.yaml_, and click on explore.


<img src={require('@site/static/images/help/en/swaggerUI.png').default} alt="" title="Swagger UI" className="img-responsive img-inline-help"/>

A valid authentication token is required to execute tasks via API, and to access additional hale»connect API URLs. Click the &laquo;Try it out!&raquo; button and copy the generated token in the response body. At the top of the page, paste the token in the field that contains the text **api_key**. The field is located next to the hale»connect API URL. Once you have logged in and provided a valid authentication token, you can use the hale»connect API to perform tasks.

### User service
user_service: https://haleconnect.com/accounts/swagger.yaml

Actions exposed in the user service include hale»connect login, organisation and user management, passwords, permissions and registration.

### Bucket service
bucket_service:

Bucket: https://haleconnect.com/store/data/swagger.yaml

Schema: https://haleconnect.com/store/schemas/swagger.yaml

TransformationProject: https://haleconnect.com/store/projects/swagger.yaml

Metadata: https://haleconnect.com/store/metadata/swagger.yaml

Attachment: https://haleconnect.com/store/attachments/swagger.yaml

A bucket is a container for objects stored in Amazon S3. The hale»connect bucket service APIs provide access to files and datasets associated with each resource type.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe more general referring to "file storage" instead of "Amazon S3"? The internals don't really matter for the API and depending on the setup AWS is not used.


### Interaction service
interaction_service: https://haleconnect.com/interactions/swagger.yaml

The interaction service provides access to comments, tasks and notes on a given resource, as well as the forum.

### Notification service
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would maybe leave this one out. There aren't really any useful endpoints for end users I think.

notification_service:

The notification service enables users to access notification settings on their account and to subscribe to resources.

### Schema service
schema_service: https://haleconnect.com/schemas/swagger.yaml

The schema service grants access to schemas and profiles and enables users to perform actions related to schema locations, namespaces, and feature types.

### Project service
project_service: https://haleconnect.com/projects/swagger.yaml

The project service allows users to access transformation projects, alignments and mapping cells.

### Workflow manager
workflow_manager: https://haleconnect.com/workflows/swagger.yaml

The workflow manager service enables users to access information about ETF Validator and Spatineo monitoring. The generic workflows.....????
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow manager is responsible for managing most tasks in the platform like transformations, validation, status updates etc.


### Resources
JohannaOtt marked this conversation as resolved.
Show resolved Hide resolved
resources: https://haleconnect.com/resources/swagger.yaml

The resource service enables access to organisation settings such as usage capacity and CSW configuration.

### Reports
JohannaOtt marked this conversation as resolved.
Show resolved Hide resolved
reports: https://haleconnect.com/reports/swagger.yaml

The reports service provides access to validation results and usage information for datasets and services on hale»connect.

### Actions
JohannaOtt marked this conversation as resolved.
Show resolved Hide resolved
actions: https://haleconnect.com/actions/swagger.yaml

The actions service enables users to delete an organisation and get the default basemap of an organisation.
8 changes: 8 additions & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,14 @@ const sidebars = {
},
{
'References': [
{
'hale»connect API': [
{
type: 'autogenerated',
dirName: 'references/haleconnect-api'
}
]
},
{
'Browser Compatibility': [
{
Expand Down
Binary file added static/images/help/de/swaggerUI.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/help/en/swaggerUI.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading