The NIH iRIS system provides an API to retrieve basic study information as well as the PDFs for the study and the key study personnel files.
tier | base URL |
---|---|
production | https://irb.nih.gov/newapi |
test | https://irb-test.nih.gov/newapi |
Most API endpoints require authentication; the authentication is simple, HTTP basic authentication, using NIH usernames and passwords. CRIS user accounts are authorized to use the API.
Certain IP network blocks are whitelisted, and do not require authentication. At the moment, the whitelist is made up of the network address blocks belonging to the Clinical Center's clinical care computers (CRIS, Citrix, workstation-on-wheels, and Department of Laboratory Medicine computers).
The default format of the API's return data is JSON, but the API is capable of returning XML as well. To specify the return format, send an HTTP Accept header:
format | header |
---|---|
JSON | Accept: application/json |
XML | Accept: text/xml |
API calls will return sensible HTTP error status codes — 401 for unauthenticated users, 403 for authenticated but unauthorized users, 404 for non-existent protocols, files, or endpoints, and 500 for server-side errors.
For any endpoints that include a <protocolNumber>, the format for the protocol number is ##A####, where # is a numeric character and "A" is the institute code (e.g., 13C0132, 19CC0035). The API prefers that the protocol number be sent without dashes, but will strip any dashes if they exist.
endpoint | description | returns | example |
---|---|---|---|
<baseURL>/protocol/<protocolNumber> | get basic metadata about a protocol | JSON/XML | https://irb.nih.gov/newapi/protocol/19CC0035 |
<baseURL>/protocol/<protocolNumber>/study | get study PDF for a protocol | binary data | https://irb.nih.gov/newapi/protocol/19CC0035/study |
<baseURL>/protocol/<protocolNumber>/ksp | get key study personnel PDF for a protocol | binary data | https://irb.nih.gov/newapi/protocol/19CC0035/ksp |
<baseURL>/ping | simple ping endpoint (which does not require authentication & authorization), returning a pong | JSON/XML | |
<baseURL>/authping | simple ping endpoint requiring authentication & authorization, returning a pong | JSON/XML |
If you need any help, drop a line to nihirbsupport@nih.gov.