Description of services provided by the API back end of DOE CODE. The HTTP GET
verb is used to retrieve information in various desired formats,
and the POST
verb used to send new and updated information to the persistence back end.
The API is available based on
/doecodeapi/services/site
on the DOE CODE server.
Method | Description |
---|---|
GET |
Used to retrieve resources |
POST |
Create or update resources |
PUT |
Not currently used |
DELETE |
Not currently used |
Most relevant service endpoints share common HTTP response codes, with the most common ones with typical reasons included below.
Response Code | Description |
---|---|
200 | OK, request was processed successfully |
400 | Bad Request, such as validation error or bad JSON |
401 | User is not authenticated |
403 | User lacks sufficient privileges for the action |
404 | Requested resource not found |
500 | Internal error or database issue |
General or non-account-specific informational API calls.
GET /doecodeapi/services/site/info
Authenticated OSTI role end point, retrieves a list of Site information.
Request:
GET /doecodeapi/services/site/info
Content-Type: application/json
Authorization: Basic user-api-key
Response:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 27
Date: Mon, 14 Aug 2017 14:55:04 GMT
[{"site_code": "ABCD","email_domains": ["@abcd.gov"],"poc_emails": ["[email protected]","[email protected]"],"lab": "Alpha Bravo Charlie Delta"},{"site_code": "EFGH","email_domains": ["@efgh.gov"],"poc_emails": [],"lab": "Echo Foxtrot Golf Hotel"}]
GET /doecodeapi/services/site/info/{site}
Authenticated OSTI role end point, retrieves Site information for a specific site code.
Request:
GET /doecodeapi/services/site/info/SITE Content-Type: application/json Authorization: Basic myapikeyResponse:
HTTP/1.1 200 OK Content-Type: application/json{"site_code": "SITE","email_domains": ["@site.gov"],"poc_emails": [],"lab": "The Site"}
API calls to manage site information; update information.
POST /doecodeapi/services/site/update
Updates a Site in DOE CODE. User must be verified OSTI role. Primarily intended to support client front-end Site management. Currently only support POC updates. Empty value/array will erase the data. If successful, simply returns the new data.
Request:
POST /doecodeapi/services/site/update
Content-Type: application/json
[{"site_code": "ABCD","poc_emails": []},{"site_code": "EFGH","poc_emails": ["[email protected]"]}]
Response:
HTTP/1.1 200 OK
Content-Type: application/json
[{"site_code": "ABCD","poc_emails": []},{"site_code": "EFGH","poc_emails": ["[email protected]"]}]
On success, JSON containing the updated Site information is returned.