Perform one-time verification checks on healthcare licenses, certifications, and registrations.
Review the request and response bodies below to perform primary source verifications.
An important note: submitted profession codes [code] must match those in the Propelus system. To view/pull those codes, utilize the Profession Status endpoint, documented in the "Professions" tile (Propelus APIv2 documentation section).
Endpoint:
HTTP Method: POST
Path: /v2/credentials
Server URL: https://api.propelus.com
Developer Docs: https://propelus.com/developer/on-demand/credentials
Looking to enroll a credential in ongoing monitoring? Add a Professional to Monitoring - First Steps
Authentication
Two header-based authentication methods are required:
| Header | Type | In | Description |
| x-api-key | token | header | API key credential |
| x-client-id | token | header | Client identifier credential |
Request Body
Content type: application/json
Credentials to be processed in batch.
| Field | Type | Required | Description / Constraints |
| credentials | array <Credential Verification> | Yes |
List of credentials to be processed in batch. Each item requires a credential; identity attributes such as name, dob and ssn improve match accuracy. Items: 1 ≤ items ≤ 100. See APIv2 dev doc: https://propelus.com/developer/on-demand/credentials |
| metadata | object | No |
Custom metadata to be stored with the batch request. Identifies the whole batch. |
Example Request — JSON
const body = JSON.stringify({
"credentials": [
{
"credential": {
"number": "K5382916",
"code": "RN",
"state": "CA"
},
"name": {
"first": "Elena",
"last": "Vasquez"
}
},
{
"credential": {
"number": "T0479261",
"code": "MD",
"state": "NY"
},
"customProperties": {
"id": "myId",
"requestedBy": "adminUser"
}
}
],
"metadata": {
"requestId": "batch-001",
"source": "internal-system"
}
})
fetch("https://api.propelus.com/v2/credentials", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<your-api-key>",
"x-client-id": "<your-client-id>"
},
body
})Example Request — cURL
curl -X POST "https://api.propelus.com/v2/credentials" \
-H "x-api-key: <your-api-key>" \
-H "x-client-id: <your-client-id>" \
-H "Content-Type: application/json" \
-d '{
"credentials": [
{
"credential": {
"number": "K5382916",
"code": "RN",
"state": "CA"
},
"name": {
"first": "Elena",
"last": "Vasquez"
}
},
{
"credential": {
"number": "T0479261",
"code": "MD",
"state": "NY"
},
"customProperties": {
"id": "myId",
"requestedBy": "adminUser"
}
}
],
"metadata": {
"requestId": "batch-001",
"source": "internal-system"
}
}'Responses
202 — Accepted
The batch is queued for processing. batchId and resultsUrl let you poll for results; rejected lists any credentials that could not be accepted.
{
"code": "processing",
"detail": "string",
"batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
"resultsUrl": "string",
"rejected": [
{
"credential": {
"number": "string",
"code": "RN",
"state": "CA",
"certState": "CA"
},
"batch": {
"batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
"resultsUrl": "string"
},
"message": "string"
}
]
}
Error Responses
Standardized error bodies. Validation-style errors include an errors array; each item contains detail, pointer, parameter, header, and code: https://propelus.com/developer/on-demand/credentials#response-body
400 — Bad Request
401 — Unauthorized
403 — Forbidden
404 — Not Found
4XX — Client Error
5XX — Server Error