NIH | National Cancer Institute | NCI Wiki  

Error rendering macro 'rw-search'

null

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Once you have received your Client ID and Client Secret from CTRP Support, follow the steps below to use the NCI CTRP REST services

Download XML from CTRP API

1. Get Okta access token

The following endpoint will generate an Okta access token provided the parameters passed in are valid.

POST:

curl --request POST “https://<clientId>:<clientSecret>@bioappdev.okta.com/oauth2/aus3ym6wniM6O3MGE297/v1/token” \
--header “Accept: application/json” \
--header “Content-Type: application/x-www-form-urlencoded” \
--data-urlencode “grant_type=password” \
--data-urlencode “username=<username>” \
--data-urlencode “password=<password>” \
--data-urlencode “scope=openid”


Parameters:

clientId

Client ID

clientSecret

Client Secret

username

CTRP OKTA account email ID

password

CTRP OKTA account password


Response:

{"token_type":"Bearer","expires_in":43200,"access_token":<accessToken>,"scope":"openid","id_token":<idToken>}

2. Call REST Service with Bearer Authentication

Include the access token in the 'Authorization: Bearer' parameter when submitting API requests.

GET:

curl --location --request GET 'https://trials.nci.nih.gov/services/trials/<NCT> ' \

--header 'Content-Type: application/json' \

--header 'Accept: application/xml' \

--header 'Authorization: Bearer <accessToken>'


Parameters:

accessToken

Access Token

NCT

Trial ID (e.g. NCI-2017-02883)


Response:

   XML data

Password Rotation

The Client ID and Client Secret will be updated on a yearly basis. The CTRP team will provide the new Client ID / Client Secret combination to PRS two weeks before each update. During the two-week grace period, both old and new credentials will work.

Test Site

https://trials-stage.nci.nih.gov/services/trials/

Error Codes for the Okta API

Error

Code

Message

Invalid Client Id

401

{

    "errorCode": "invalid_client",

    "errorSummary": "Invalid value for 'client_id' parameter.",

    "errorLink": "invalid_client",

    "errorId": "oaejDJuWCiRTQeH8n6WG2116A",

    "errorCauses": []

}

Invalid Client Secret

401

{

    "error": "invalid_client",

    "error_description": "The client secret supplied for a confidential client is invalid."

}

Invalid User Credentials / Account Locked*

400

{

    "error": "invalid_grant",

    "error_description": "The credentials provided were invalid."

}

Note: A users Okta account will lock after multiple incorrect login attempts. The account will unlock after 15 minutes.

  • No labels