Direkt zum Inhalt
RADAR API

ERSTE SCHRITTE ZUR NUTZUNG DES RADAR API

 

Target Systems

Development: https://www.dev.fiz-karlsruhe.de/radar/api

Production: https://www.radar-services.eu/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

Link to latest version of the API documentation: 

https://dev.fiz-karlsruhe.de/bamboo/browse/RAD-RADD/latest/artifact/shared/radarAPI.html/radarAPI.html

 

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 email 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

query
facetValues
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
   }
}