NIH iRIS Study API

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.

API base URLs

tierbase URL
productionhttps://irb.nih.gov/newapi
testhttps://irb-test.nih.gov/newapi

Authentication and Whitelisting

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).

Return Format

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:

formatheader
JSONAccept: application/json
XMLAccept: 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. 

API Endpoints

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.

endpointdescriptionreturnsexample
<baseURL>/protocol/<protocolNumber>get basic metadata about a protocolJSON/XMLhttps://irb.nih.gov/newapi/protocol/19CC0035
<baseURL>/protocol/<protocolNumber>/studyget study PDF for a protocolbinary datahttps://irb.nih.gov/newapi/protocol/19CC0035/study
<baseURL>/protocol/<protocolNumber>/kspget key study personnel PDF for a protocolbinary datahttps://irb.nih.gov/newapi/protocol/19CC0035/ksp
<baseURL>/pingsimple ping endpoint (which does not require authentication & authorization), returning a pongJSON/XML

https://irb.nih.gov/newapi/ping

<baseURL>/authpingsimple ping endpoint requiring authentication & authorization, returning a pongJSON/XML

https://irb.nih.gov/newapi/authping

Getting Help

If you need any help, drop a line to nihirbsupport@nih.gov.