OPEN API Specs
- POST /keys
Create new API Key/Token
Create new API Key/Token
Example request:
POST /keys HTTP/1.1 Host: example.com Content-Type: application/json { "email": "string", "password": "string", "label": "string", "expires": "string" }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "userId": { "uuid": "string", "site": "string" }, "token": "string", "label": "string", "expires": "string" }
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- DELETE /keys/{id}
Delete ApiKey by label
Delete ApiKey by label.
- Parameters:
id (string) – ID (not label) of Apikey
- Status Codes:
200 OK – OK
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – The specified key does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /rpc/whoami
[Not RESTful]: Returns information about the authenticated user
Returns the ids, name, groupAdmin, siteAdmin, email and groupName attributes for the logged in user. [Attention this endpoint is not RESTful, the result should not be cached.]
Example request:
GET /rpc/whoami HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "groupAdmin": true, "siteAdmin": true, "siteRead": true, "email": "string", "group": { "id": { "uuid": "string", "site": "string" }, "name": "string" } }
401 Unauthorized – Unauthorized
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- POST /rpc/delete-files
Bulk-delete Staged Files
Bulk-delete Staged Files.
Example request:
POST /rpc/delete-files HTTP/1.1 Host: example.com Content-Type: application/json { "fileIds": [ "string" ] }
- Status Codes:
204 No Content – Deletion successful
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – File not found
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- POST /rpc/delete-metadatasets
Bulk-delete Staged MetaDataSets
Bulk-delete Staged MetaDataSets.
Example request:
POST /rpc/delete-metadatasets HTTP/1.1 Host: example.com Content-Type: application/json { "metadatasetIds": [ "string" ] }
- Status Codes:
204 No Content – Deletion successful
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – File not found
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /rpc/get-file-url/{id}
[Not RESTful]: Redirects to a temporary, pre-signed HTTP-URL for downloading a file.
For the file with the given ID, this enpoint will redirect to a pre-signed HTTP URL for downloading the requested file. The pre-signed URL times out after a certain amount of time which can be configured with the “expires” query string. [Attention this endpoint is not RESTful, the result should not be cached.]
- Parameters:
id (string) – ID of the file
- Query Parameters:
expires (integer) – Minutes until the pre-signed URL will expire, defaults to 1
redirect (boolean) – If set to true, the endpoint will return a 307 response, otherwise a 200 response.
Example request:
GET /rpc/get-file-url/{id} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "fileId": { "uuid": "string", "site": "string" }, "fileUrl": "string", "expires": "2023-02-21T08:22:56.055186", "checksum": "string" }
Redirecting to the pre-signed URL of the file
Example response:
HTTP/1.1 307 Temporary Redirect Content-Type: application/json { "fileId": { "uuid": "string", "site": "string" }, "fileUrl": "string", "expires": "2023-02-21T08:22:56.055186", "checksum": "string" }
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – The specified file does not exist.
500 Internal Server Error – Internal Server Error
- Response Headers:
location – Location to redirect to
- GET /users/{id}/keys
All API keys for a user
Get a list of all API keys for a user. Please note that you cannot retrieve the tokens themselves because they are stored in a hashed format in our database as only the respective user is allowed to know them.
- Parameters:
id (string) – ID of the User
Example request:
GET /users/{id}/keys HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": { "uuid": "string", "site": "string" }, "label": "string", "expires": "string", "hasExpired": true } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – The specified user does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- PUT /users/{id}/password
Update a user’s password
Update a user’s password. The user ID can be specified either as a UUID or as a site ID.
- Parameters:
id (string) – User ID, either as UUID or as site ID. ‘0’ for password reset token based access.
Example request:
PUT /users/{id}/password HTTP/1.1 Host: example.com Content-Type: application/json { "passwordChangeCredential": "string", "newPassword": "string" }
- Status Codes:
200 OK –
Password update successful
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "tfaToken": "string" }
401 Unauthorized – Unauthorized
403 Forbidden – The specified user does not exist or is not the same user as the authorized user.
404 Not Found – Password reset token not found
410 Gone – Password reset token expired
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- DELETE /users/{id}/totp-secret
Delete TOTP-secret for user
Delete TOTP-secret.
- Parameters:
id (string) – User ID
- Status Codes:
200 OK – OK
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – The specified user does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /users/{id}
Get user information
Get information about a user.
- Parameters:
id (string) – ID of the user
Example request:
GET /users/{id} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "groupAdmin": true, "siteAdmin": true, "siteRead": true, "email": "string", "groupId": { "uuid": "string", "site": "string" } }
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Not found
500 Internal Server Error – Internal Server Error
- PUT /users/{id}
Update a user’s credentials and status
Update a user’s name, group, admin status and enabled status.
- Parameters:
id (string) – User ID
Example request:
PUT /users/{id} HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string", "groupId": "string", "groupAdmin": true, "siteAdmin": true, "siteRead": true, "enabled": true }
- Status Codes:
204 No Content – User update successful
401 Unauthorized – Unauthorized
403 Forbidden – This user does not have the rights to perform this action.
404 Not Found – The specified user does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /metadata
Get metadata definitions
Get the metadata definitions that are configured for this site.
Example request:
GET /metadata HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": { "uuid": "string", "site": "string" }, "name": "string", "regexDescription": "string", "longDescription": "string", "example": "string", "regExp": "string", "dateTimeFmt": "string", "isMandatory": true, "order": 1, "isFile": true, "isSubmissionUnique": true, "isSiteUnique": true, "serviceId": { "uuid": "string", "site": "string" } } ]
401 Unauthorized – Unauthorized
500 Internal Server Error – Internal Server Error
- POST /metadata
Create a New MetaDatum
Create a new MetaDatum. This is an administrative Endpoint that is not accessible for regular users.
Example request:
POST /metadata HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string", "regexDescription": "string", "longDescription": "string", "example": "string", "regExp": "string", "dateTimeFmt": "string", "isMandatory": true, "order": 1, "isFile": true, "isSubmissionUnique": true, "isSiteUnique": true, "serviceId": "string" }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "regexDescription": "string", "longDescription": "string", "example": "string", "regExp": "string", "dateTimeFmt": "string", "isMandatory": true, "order": 1, "isFile": true, "isSubmissionUnique": true, "isSiteUnique": true, "serviceId": { "uuid": "string", "site": "string" } }
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – The specified Service does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- PUT /metadata/{id}
Update a MetaDatum
Update a MetaDatum. This is an administrative Endpoint that is not accessible for regular users.
- Parameters:
id (string) – User ID
Example request:
PUT /metadata/{id} HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string", "regexDescription": "string", "longDescription": "string", "example": "string", "regExp": "string", "dateTimeFmt": "string", "isMandatory": true, "order": 1, "isFile": true, "isSubmissionUnique": true, "isSiteUnique": true, "serviceId": "string" }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "regexDescription": "string", "longDescription": "string", "example": "string", "regExp": "string", "dateTimeFmt": "string", "isMandatory": true, "order": 1, "isFile": true, "isSubmissionUnique": true, "isSiteUnique": true, "serviceId": { "uuid": "string", "site": "string" } }
401 Unauthorized – Unauthorized
403 Forbidden – This user does not have the rights to perform this action.
404 Not Found – The specified service does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- POST /metadatasets
Create a New MetaDataSet
Create a new MetaDataSet
Example request:
POST /metadatasets HTTP/1.1 Host: example.com Content-Type: application/json { "record": {} }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "record": {}, "fileIds": {}, "serviceExecutions": {}, "id": { "uuid": "string", "site": "string" }, "submissionId": { "uuid": "string", "site": "string" }, "userId": { "uuid": "string", "site": "string" } }
401 Unauthorized – Unauthorized
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /metadatasets
Query metadatasets
Query all metadatasets
- Query Parameters:
submittedAfter (string) – ISO datetime string specifying an exclusive lower bound for the submission date of the returned metadatasets.
submittedBefore (string) – ISO datetime string specifying an exclusive upper bound for the submission date of the returned metadatasets.
awaitingService (string) – Identifier for a service. Restricts the result to metadatsets for which the specified service has not been executed yet.
Example request:
GET /metadatasets HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "record": {}, "fileIds": {}, "serviceExecutions": {}, "id": { "uuid": "string", "site": "string" }, "submissionId": { "uuid": "string", "site": "string" }, "userId": { "uuid": "string", "site": "string" } } ]
401 Unauthorized – Unauthorized
404 Not Found – Not Found
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /metadatasets/{id}
Get Details for a MetaDataSet
Get details for a metadataset.
- Parameters:
id (string) – ID of the MetaDataSet
Example request:
GET /metadatasets/{id} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "record": {}, "fileIds": {}, "serviceExecutions": {}, "id": { "uuid": "string", "site": "string" }, "submissionId": { "uuid": "string", "site": "string" }, "userId": { "uuid": "string", "site": "string" } }
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
404 Not Found – The specified metadataset does not exist.
500 Internal Server Error – Internal Server Error
- DELETE /metadatasets/{id}
Delete Not-Submitted Metadataset
Delete File. Please note: This is only allowed if the metadataset has not been part of a Submission, yet.
- Parameters:
id (string) – ID of the Metadataset
- Status Codes:
204 No Content – Deletion successful
401 Unauthorized – Unauthorized
Either forbidden or the resource is not modifiable
Example response:
HTTP/1.1 403 Forbidden Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
404 Not Found – The specified metadataset does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- POST /service-execution/{serviceId}/{metadatasetId}
Endpoint to store the result of a service execution for a single metadataset
This endpoint is used to report the result of a service execution in the form of metadatum key - value pairs for the service-related metadata and corresponding files if file metadata are involved.
- Parameters:
serviceId (string) – ID of the service
metadatasetId (string) – ID of the metadataset
Example request:
POST /service-execution/{serviceId}/{metadatasetId} HTTP/1.1 Host: example.com Content-Type: application/json { "record": {}, "fileIds": [ "string" ] }
- Status Codes:
200 OK –
Update successful
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "record": {}, "fileIds": {}, "serviceExecutions": {}, "id": { "uuid": "string", "site": "string" }, "submissionId": { "uuid": "string", "site": "string" }, "userId": { "uuid": "string", "site": "string" } }
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – The specified metadataset or service does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- POST /files
Create a New File
Creates a new empty file object. Attention: this endpoint does not take the file content for upload. Instead, it will respond with a presigned URL which you can use to upload (PUT) your file content.
Example request:
POST /files HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string", "checksum": "string" }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "urlToUpload": "string", "requestHeaders": {}, "userId": { "uuid": "string", "site": "string" }, "expires": "string" }
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
401 Unauthorized – Unauthorized
500 Internal Server Error – Internal Server Error
- GET /files/{id}
Get Details for A File
Get details for a file.
- Parameters:
id (string) – ID of the File
Example request:
GET /files/{id} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "contentUploaded": true, "checksum": "string", "filesize": 1, "userId": { "uuid": "string", "site": "string" }, "expires": "string" }
401 Unauthorized – Unauthorized
Either forbidden or the resource is not modifiable
Example response:
HTTP/1.1 403 Forbidden Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
404 Not Found – File not found
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- PUT /files/{id}
Update File Details
Update details for a File. E.g. to indicate that the File content has been uploaded (set contentUploaded=true). Please note: this only works for Files that have not been submitted, yet. Other file attributes (checksum and name) can only be updated until contentUploaded has been set to ‘true’.
- Parameters:
id (string) – ID of the File
Example request:
PUT /files/{id} HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string", "contentUploaded": true, "checksum": "string" }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "contentUploaded": true, "checksum": "string", "filesize": 1, "userId": { "uuid": "string", "site": "string" }, "expires": "string" }
401 Unauthorized – Unauthorized
Either forbidden or the resource is not modifiable
Example response:
HTTP/1.1 403 Forbidden Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
404 Not Found – File not found
409 Conflict – Mismatch between uploaded data checksum and announced checksum
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- DELETE /files/{id}
Delete Not-Submitted File
Delete File. Please note: This is only allowed if the File has not been part of a Submission, yet.
- Parameters:
id (string) – ID of the File
- Status Codes:
204 No Content – Deletion successful
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – File not found
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- POST /submissions
Create a New Submission
Creates a new Submission. A submission consists of a list of metadatasets and a list of files.
Example request:
POST /submissions HTTP/1.1 Host: example.com Content-Type: application/json { "metadatasetIds": [ "string" ], "fileIds": [ "string" ], "label": "string" }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "label": "string", "metadatasetIds": [ { "uuid": "string", "site": "string" } ], "fileIds": [ { "uuid": "string", "site": "string" } ] }
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
401 Unauthorized – Unauthorized
500 Internal Server Error – Internal Server Error
- POST /presubvalidation
Pre-validate a submission
Pre-validates a submission request without actually creating a submission. A submission request consists of a list of metadatasets and a list of files.
Example request:
POST /presubvalidation HTTP/1.1 Host: example.com Content-Type: application/json { "metadatasetIds": [ "string" ], "fileIds": [ "string" ], "label": "string" }
- Status Codes:
204 No Content – OK
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
401 Unauthorized – Unauthorized
500 Internal Server Error – Internal Server Error
- GET /groups/{id}/submissions
Get A List of All Submissions of A Group.
Get a list of all submissions of a group.
- Parameters:
id (string) – ID of the group
Example request:
GET /groups/{id}/submissions HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": { "uuid": "string", "site": "string" }, "label": "string", "metadatasetIds": [ { "uuid": "string", "site": "string" } ], "fileIds": [ { "uuid": "string", "site": "string" } ] } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – The specified group does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /groups/{id}
Get group information
Get information about a group.
- Parameters:
id (string) – ID of the group
Example request:
GET /groups/{id} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string" }
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Not found
500 Internal Server Error – Internal Server Error
- PUT /groups/{id}
Change the name of a group.
Change the name of a group.
- Parameters:
id (string) – ID of the group
Example request:
PUT /groups/{id} HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string" }
- Status Codes:
204 No Content – No Content
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – The specified group does not exist.
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /appsettings
GET all AppSettings
GET all AppSettings. This is an administrative Endpoint that is not accessible for regular users.
Example request:
GET /appsettings HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": { "uuid": "string", "site": "string" }, "key": "string", "valueType": "string", "value": "string" } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- POST /services
Create a new service.
Create a new service.
Example request:
POST /services HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string" }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "userIds": [ { "uuid": "string", "site": "string" } ] }
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
500 Internal Server Error – Internal Server Error
- GET /services
Get Services information
Get names and IDs for all services
Example request:
GET /services HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": { "uuid": "string", "site": "string" }, "name": "string", "userIds": [ { "uuid": "string", "site": "string" } ] } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
500 Internal Server Error – Internal Server Error
- PUT /services/{id}
Update a specific service.
Update the name and/or the users of this service. If the name, or the userIds are omitted, those will not be updated upon request. To remove all users, an empty array must be submitted for userIds.
- Parameters:
id (string) – ID of the service
Example request:
PUT /services/{id} HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string", "userIds": [ "string" ] }
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": { "uuid": "string", "site": "string" }, "name": "string", "userIds": [ { "uuid": "string", "site": "string" } ] }
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Service does not exist
500 Internal Server Error – Internal Server Error
- GET /server
Get DataMeta server information
Get information about the DataMeta server serving this API
Example request:
GET /server HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "apiVersion": "string", "datametaVersion": "string" }
500 Internal Server Error – Internal Server Error
- POST /registrations
Create a new user registration request
Create a new user registration request
Example request:
POST /registrations HTTP/1.1 Host: example.com Content-Type: application/json { "name": "string", "email": "string", "org_select": "string", "org_create": "string", "org_new_name": "string", "check_user_agreement": true }
- Status Codes:
204 No Content – New User Registration Request created
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error
- GET /registrationsettings
Get details for the registration view
Get all available groups and the user agreement for the registration view
Example request:
GET /registrationsettings HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
OK
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "userAgreement": "string", "groups": [ { "id": { "uuid": "string", "site": "string" }, "name": "string" } ] }
500 Internal Server Error – Internal Server Error
- PUT /appsettings/{id}
Update a specific appsetting. This is an administrative Endpoint that is not accessible for regular users.
Update a specific appsetting
- Parameters:
id (string) – ID of the appsetting
Example request:
PUT /appsettings/{id} HTTP/1.1 Host: example.com Content-Type: application/json { "value": "string" }
- Status Codes:
204 No Content – App Settings Updated
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Setting does not exist
Validation Error
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json [ { "exception": "string", "error_code": "string", "message": "string", "entity": { "uuid": "string", "site": "string" }, "field": "string" } ]
500 Internal Server Error – Internal Server Error