Target Systems
Development: https://test.radar-service.eu/radar/api/
Production: https://www.radar-service.eu/radar/api
Security
Oauth
Most of the endpoints requires an authenticated escidoc user to perform the action. In the RADAR all authentication is done via Oauth.
An API-Client has to send a valid Oauth Token in the request header to gain access to specific endpoints.
Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 |
Endpoints
Oauth tokens
Method | Path | Query | Return | |
---|---|---|---|---|
Read | POST | /tokens |
200, 400, 401, 500 |
|
Delete | DELETE | /tokens | 204, 400, 500 | |
Read | POST | /tokens/refresh | 200, 400, 401, 500 |
{"clientId":"myClientId", "clientSecret":"myClientSecret", "redirectUrl" : \"myRedirectUrl", "userName":"myUserName", "userPassword":"myPassword"} |
{"clientId":"myClientId", "clientSecret":"myClientSecret", "refreshToken":"0b79bab50daca910b000d4f1a2b675d604257e42"} |
User
Method | Path | Query | Return | |
---|---|---|---|---|
Read | GET | /users/{username} |
200, 400, 401, 500 |
|
Search | GET | /users |
sort offset rows query |
200, 400 |
Contract
Method | Path | Query | Return | |
---|---|---|---|---|
Create | POST | /contracts |
201, 400, 401, 403, 500 |
|
Read | GET | /contracts/{id} | 200, 401, 403, 404, 500 | |
Update | PUT | /contracts/{id} | 200, 400, 401, 403, 404, 500 | |
Delete | DELETE | /contracts/{id} | 200, 401, 403, 404, 500 | |
Read Administrators | GET | /contracts/{id}/administrators | 200, 401, 403, 404, 500 | |
Change Administrators | POST | /contracts/{id}/administrators | 200, 401, 403, 404, 500 | |
Search | GET | /contracts |
sort offset rows query |
200, 400 |
Example:
{ "id":null, "parentId":null, "createdDate":null, "lastModifiedDate":null, "descriptiveMetadata":{ "title":"Test contract", "description":"This is the test contract" }, "technicalMetadata":{ "diskQuota":5000, "archiveQuota":10000, "categories":{ "category":[ { "title":"Institutions", "value":[ { "value":"FIZ", "id":"1453127511216" }, { "value":"SCC", "id":"1453127511221" }, { "value":"IMK", "id":"1453127511221" } ], "id":"1453127511216" } ] } } } |
["username1", "username1"] |
Workspace
Method | Path | Query | Return | |
---|---|---|---|---|
Create | POST | /contracts/${contractId}/workspaces |
201, 400, 401, 403, 500 |
|
Read | GET | /workspaces/{id} | 200, 401, 403, 404, 500 | |
Update | PUT | /workspaces/{id} | 200, 400, 401, 403, 404, 500 | |
Delete | DELETE | /workspaces/{id} | 200, 401, 403, 404, 500 | |
Read Curators | GET | /workspaces/{id}/curators | 200, 401, 403, 404, 500 | |
Change Curators | POST | /workspaces/{id}/curators | 200, 401, 403, 404, 422, 500 | |
Read SubCurators | GET | /workspaces/{id}/subcurators | 200, 401, 403, 404, 500 | |
Change SubCurators | POST | /workspaces/{id}/subcurators | 200, 401, 403, 404, 422, 500 | |
Search | GET | /workspaces |
sort offset rows query facetValues[] |
200, 400 |
Facets | GET | /workspaces/facets |
facetName searchQuery facetQuery facetValues[] rows |
200, 400 |
Examples:
{ "id":null, "parentId":"tSnyWSTKrtvieNpv", "createdDate":null, "lastModifiedDate":null, "datasetIds":null, "descriptiveMetadata":{ "title":"Workspace Foo", "description":"to be used only by Alice and Bob" }, "technicalMetadata":{ "defaultDatasetRetentionPeriod":42, "defaultDatasetResponsibleEmail":"alice_and_bob@foo.bar", "categoryAssignments":{ "categoryAssignment":[ "JHJHASD,LKJKJASD", "KJHKJH,IJOIJASD3" ] } } } |
["username1", "username1"] |
Dataset
Method | Path | Query | Return | |
---|---|---|---|---|
Create | POST | /workspaces/${workspaceId}/datasets |
201, 400, 401, 403, 500 |
|
Read | GET | /datasets/{id} | 200, 401, 403, 404, 500 | |
Update | PUT | /datasets/{id} | 200, 400, 401, 403, 404, 500 | |
Delete | DELETE | /datasets | 200, 401, 403, 404, 500 | |
Download | GET | /datasets/{id}/download | 200, 401, 403, 404, 500 | |
Can upload file | GET | /datasets/{id}/canupload |
filename |
200, 401, 403, 404, 422, 500 |
Search | GET | /datasets |
sort offset rows queryfacetValues |
200, 400 |
Children | GET | /datasets/{id}/children/ |
sort offset rows |
200, 401, 403, 500 |
Facets | GET | /datasets/facets |
facetName searchQuery facetQuery facetValues[] rows |
200, 400 |
Publish | POST | /datasets/{id}/publish | 200, 401, 403, 404, 422, 500 | |
Archive | POST | /datasets/{id}/archive | 200, 401, 403, 404, 422, 500 | |
Review | POST | /datasets/{id}/startreview | 200, 401, 403, 404, 422, 500 | |
Pending | POST | /datasets/{id}/endreview | 200, 401, 403, 404, 422, 500 | |
Get XML Descriptive MD | GET | /datasets/{id}/descriptivemd | 200, 401, 403, 404, 422, 500 | |
Import XML Descriptive MD | POST | /datasets/{id}/descriptivemd | 200, 401, 403, 404, 422, 500 |
Examples:
{ "id":null, "parentId":"oCnmQAQTPXBomRIm", "createdDate":null, "lastModifiedDate":null, "hasChildren":false, "state":"PENDING", "uploadUrl":null, "technicalMetadata":{ "retentionPeriod":25, "archiveDate":1453118839734, "publishDate":1453118839739, "responsibleEmail":"alice@bob.de", "publicationBacklink":"http://alice-bob.de/publication", "embargoEndingDate":1453982839735, "numberOfPendingNotificationMailsSent":0, "categoryAssignments":null }, "descriptiveMetadata":{ "identifier":null, "alternateIdentifiers":null, "relatedIdentifiers":null, "creators":{ "creator":[ { "creatorName":"Max Mustermann", "creatorAffiliation":[ "Scientist" ] }, { "creatorName":"Maike Maler", "creatorAffiliation":[ "Scientist" ] } ] }, "contributors":null, "title":"Dataset title.", "additionalTitles":null, "descriptions":null, "keywords":null, "publishers":null, "productionYear":null, "publicationYear":null, "language":null, "subjectAreas":null, "resource":null, "geoLocations":null, "dataSources":null, "software":null, "processing":null, "rights":null, "rightsHolders":null, "relatedInformations":null } } |
Folder
Method | Path | Query | Return | |
---|---|---|---|---|
Create | POST |
/datasets/${datasetId}/folders /folders/${folderId}/folders |
201, 400, 401, 403, 500 |
|
Read | GET | /folders/{id} | 200, 401, 403, 404, 500 | |
Update | PUT | /folders/{id} | 200, 400, 401, 403, 404, 500 | |
Delete | DELETE | /folders/{id} | 200, 401, 403, 404, 500 | |
Can upload file | GET | /folders/{id}/canupload |
filename |
200, 401, 403, 404, 422, 500 |
Children | GET | /folders/{id}/children |
sort offset rows |
200, 401, 403, 500 |
Search | GET |
/folders |
sort offset rows query facetValues[] |
200, 400 |
Facets | GET | /folders/facets |
facetName searchQuery facetQuery facetValues[] rows |
200, 400 |
Import XML Descriptive MD | POST | /folders/{id}/descriptivemd | 200, 401, 403, 404, 422, 500 |
Examples:
{ "id":null, "parentId":"kVxkjkgGbiiZWJPp", "createdDate":null, "lastModifiedDate":null, "folders":null, "files":null, "descriptiveMetadata":{ "identifier":null, "alternateIdentifiers":null, "relatedIdentifiers":null, "creators":{ "creator":[ { "creatorName":"Max Mustermann", "creatorAffiliation":[ "Scientist" ] }, { "creatorName":"Maike Maler", "creatorAffiliation":[ "Scientist" ] } ] }, "contributors":null, "title":"Folder Foo.", "additionalTitles":null, "descriptions":null, "keywords":null, "publishers":null, "productionYear":null, "publicationYear":null, "language":null, "subjectAreas":null, "resource":null, "geoLocations":null, "dataSources":null, "software":null, "processing":null, "rights":null, "rightsHolders":null, "relatedInformations":null } } |
File
Method | Path | Return | ||
---|---|---|---|---|
Read | GET | /files/{id} | 200, 401, 403, 404, 500 | |
Update | PUT | /files/{id} | 200, 400, 401, 403, 404, 500 | |
Delete | DELETE | /files/{id} | 200, 401, 403, 404, 500 | |
Search | GET |
/files |
sort offset rows query facetValues[] |
200, 400 |
Facets | GET | /files/facets |
facetName searchQuery facetQuery facetValues[] rows |
200, 400 |
Import XML Descriptive MD | POST | /files/{id}/descriptivemd | 200, 401, 403, 404, 422, 500 |
Examples:
{ "id":"jhalksjdhfsadiu", "parentId":"dmCANFLLDgRhOYqb", "createdDate":null, "lastModifiedDate":null, "fileName":null, "binaryUrl":null, "descriptiveMetadata":{ "identifier":null, "alternateIdentifiers":null, "relatedIdentifiers":null, "creators":{ "creator":[ { "creatorName":"Max Mustermann", "creatorAffiliation":[ "Scientist" ] }, { "creatorName":"Maike Maler", "creatorAffiliation":[ "Scientist" ] } ] }, "contributors":null, "title":"File bar.", "additionalTitles":null, "descriptions":null, "keywords":null, "publishers":null, "productionYear":null, "publicationYear":null, "language":null, "subjectAreas":null, "resource":null, "geoLocations":null, "dataSources":null, "software":null, "processing":null, "rights":null, "rightsHolders":null, "relatedInformations":null } } |