Search for adverse actions associated with a professional or an organization.
Adverse actions are sourced from primary sources directly. You may also sort by specific sources if necessary. Either name or npi is required — you may provide both. Additional identifiers help reduce false positives.
More inputs help refine matches made by Propelus. Match scores range from "low" to "high" confidence and the strength of a match can be configured by a customer during implementation. "Low" matches would return partial name matches whereas "High" matches would be the result of the name and other identifiers matching exactly, like NPI.
Note: when searching for adverse actions against a business, it is required to use the full name option in the name object.
The product you request in source determines which result sets come back. adverseCheckEssentials returns matched records in entities. adverseCheckPro additionally returns proEntities — adverse actions reported alongside entities rather than resolved to a propelusId.
The pro search within adverseCheckPro requires a first and last name it can resolve: either first + last, or a full containing at least two words. Any dob and credentials you send are forwarded as additional match input — the name is simply the one input the search cannot run without. When a first and last name cannot be resolved — a single-word full, or a request identified only by npi — the pro search cannot run: proEntities is omitted and a warnings entry explains why. Every other requested search whose own required inputs are present still runs and returns normally. Note that adverseCheckPro also includes the Death Master File search, which needs both ssn and name, so a request without ssn skips that search too and returns a second warnings entry for dmf. The request itself still succeeds.
Note: a warnings entry means the search never happened. Treat it as "unknown", not as "nothing found" — code and the result sets only describe the searches that ran.
Note: when searching for adverse actions against a business, it is required to use the full name option in the name object [full].
{
"name": {
"full": "Acme Home Health Care LLC"
}
Endpoint:
HTTP Method: POST
Path: /v2/entities?source={product}
Server URL: https://api.propelus.com
Developer Docs: https://propelus.com/developer/on-demand/entities
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 |
Query Parameters
| Parameter | Type | Required | Description |
| source | string | Always send |
Product to run the search against. Allowed values: "adverseCheckEssentials" | "adverseCheckPro" | "deceased". adverseCheckEssentials returns entities; adverseCheckPro also returns proEntities. If omitted, the account's default product is used; if no default is configured, the request fails — so always send it. |
Request Body
Content type: application/json
Entity search input. Either [name] or [npi] is required — you may provide both. name and alias accept either first & last (optionally middle, prefix, suffix) OR [full] for submitting a complete business name in a single name-field.
| Field | Type | Required | Description / Constraints |
| name | [first] & [last] or [full] Name | Yes |
Name in one of two mutually exclusive forms: first + last (optionally middle, prefix, suffix), or full as a single string. Mixing full with any other name field is rejected. Use full for organization names; an individual with distinct first and last names should always be sent as parts, because sources that match on discrete name parts cannot take a single string — a full value must be split heuristically, and a single-token full cannot be split at all, so sending an individual as full can degrade or skip those searches. For single-token names (typically a business), always use full — do not work around the parts form by repeating the same token in first and last: that materially lowers the match confidence score (roughly 40% in practice) and can push valid matches below your confidence threshold. The pro search in adverseCheckPro is the concrete case of that degradation: it requires a first and a last name, so the name must resolve to both — give first + last, or a full of at least two words (the first word is taken as the first name and the remainder as the last name). A single-word full is still a valid request: the pro search is skipped — proEntities is omitted and a warnings entry explains why — while the other searches in adverseCheckPro still run, each subject to its own input requirements. |
| credentials | array <Entity's Input Credential> | No |
List of professional licenses or hard cards. Each item requires at least one of number, code, or state. Items: 1 ≤ items ≤ 5. |
| alias | [first] & [last] or [full] Name | No |
Alternative name; same two mutually exclusive forms and rules as name. |
| npi | NPI Number | No |
National Provider Identifier of the professional. Match: ^[0-9]{10}$ |
| dob | string | No |
Date of Birth. Formats: YYYYMMDD | YYYYMM | YYYY. |
| ssn | SocialSecurityNumber | No |
Social Security Number of the professional. Match: ^[0-9]{9}$ |
| customProperties | object | No |
Additional properties to be stored with the professional or credential. Properties ≤ 10. |
Choosing a product and what each search needs
adverseCheckEssentials returns matched records in entities.
adverseCheckPro also returns proEntities (adverse actions reported alongside entities). The Pro search needs a first and last name — send [first] + [last], or a [full] name of at least two words. A single-word full name, or an NPI-only request, skips the Pro search.
Death Master File (DMF) results need both ssn and a name. Without an SSN, the DMF search is skipped.
Businesses: always send the name as full. Individuals: send first + last — repeating one name in both fields lowers the match confidence score by roughly 40%.
About warnings: if a search can't run because an input is missing, the request still succeeds and the response includes a warnings entry for that search. Treat a warning as "unknown — not searched," not as "nothing found."
Example Request — JSON
const body = JSON.stringify({
"name": {
"first": "Marcus",
"last": "Whitfield",
"prefix": "Dr."
},
"credentials": [
{ "number": "K5382916", "code": "RN", "state": "CA" },
{ "number": "T0479261", "code": "MD", "state": "NY" }
],
"alias": {
"first": "Marc",
"last": "Whitfield"
},
"npi": "1739204857",
"dob": "19770428",
"ssn": "000482915",
"customProperties": {
"sourceSystem": "internal-system",
"requestId": "req-001"
}
})
fetch("https://api.propelus.com/v2/entities?source=adverseCheckEssentials", {
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/entities?source=adverseCheckEssentials" \
-H "x-api-key: <your-api-key>" \
-H "x-client-id: <your-client-id>" \
-H "Content-Type: application/json" \
-d '{
"name": {
"first": "Marcus",
"last": "Whitfield",
"prefix": "Dr."
},
"credentials": [
{ "number": "K5382916", "code": "RN", "state": "CA" },
{ "number": "T0479261", "code": "MD", "state": "NY" }
],
"alias": {
"first": "Marc",
"last": "Whitfield"
},
"npi": "1739204857",
"dob": "19770428",
"ssn": "000482915",
"customProperties": {
"sourceSystem": "internal-system",
"requestId": "req-001"
}
}
Responses
200 — Success
Returns matched entities with adverse-action detail (exclusions, specialty certifications, board actions, DEA registrations, NPPES data, state licenses, and death-master-file matches), each with a match score.
{
"status": 0,
"code": "found",
"detail": "string",
"entities": [
{
"propelusId": "string",
"score": 85,
"scoreCode": "high_confidence",
"names": [
{
"prefix": "Dr.",
"first": "string",
"middle": "string",
"last": "string",
"suffix": "string",
"full": "string"
}
],
"email": "user@example.com",
"npi": "1739204857",
"phones": [
{
"number": "+4155552671",
"type": "mobile"
}
],
"exclusions": [
{
"name": {
"prefix": "Dr.",
"first": "string",
"middle": "string",
"last": "string",
"suffix": "string",
"full": "string"
},
"address": {
"line1": "string",
"line2": "string",
"city": "string",
"state": "st",
"zip": "strin"
},
"dateOfBirth": "2019-08-24",
"additionalComments": "string",
"amendment": "string",
"excludedDate": "2019-08-24",
"excludingAgency": "HHS",
"exclusionsType": "string",
"licenseNumber": "string",
"profession": "string",
"reinstatementDate": "2019-08-24",
"npi": "string",
"additionalData": {
"medicaidProviderId": "string",
"medicareProviderNumber": "string",
"providerVerification": "string"
},
"reference": "string",
"cageCode": "string",
"listCode": "CON"
}
],
"specialtyCertifications": [
{
"type": "specialtyCertifications:abms",
"certificateId": 0,
"certificateName": "string",
"certificateType": "string",
"memberBoardId": 0,
"memberBoardName": "string",
"mocPathwayId": 0,
"mocPathwayName": "string",
"currentDurationType": "TL",
"initialCertification": {
"certificationId": 0,
"startDate": "2019-08-24",
"endDate": "2019-08-24",
"durationType": "TL",
"reverificationDate": "2019-08-24"
},
"reCertifications": [
{
"durationType": "TL",
"certificationId": 0,
"startDate": "2019-08-24",
"endDate": "2019-08-24",
"reverificationDate": "2019-08-24"
}
],
"status": {
"certificateStatus": "string",
"mocComplianceStatus": "string",
"modifiedDate": "2019-08-24"
},
"isDeceased": true
}
],
"boardActions": [
{
"type": "actions:fsmb",
"entity": "Department of Health and Human Services",
"orders": [
{
"date": "2025-07-18",
"effectiveDate": "2019-08-24",
"code": "OP",
"description": "Other prejudicial action",
"actions": [
{
"code": "A0244",
"description": "LICENSE ISSUED WITH A REPRIMAND",
"effectiveDate": "string",
"expirationDate": "string",
"basisCode": "string",
"basisDescription": "string"
}
]
}
]
}
],
"deaRegistrations": [
{
"type": "registration:dea",
"registrant": {
"name": "string",
"degree": "string",
"activity": {
"status": "string",
"businessCode": "string",
"businessSubCode": "string"
},
"additionalCompanyInfo": "string"
},
"contact": {
"address": "string",
"city": "string",
"state": "string",
"zipCode": "string"
},
"status": {
"transactionDate": "2019-08-24",
"expirationDate": "2019-08-24",
"paymentIndicator": "string"
},
"registrations": [
{
"deaNumber": "string",
"stateLicenseNumber": "string",
"stateCsLicenseNumber": "string",
"drugSchedules": "string"
}
]
}
],
"nppes": [
{
"type": "npi:registry",
"number": "1739204857",
"enumerationType": "NPI-1",
"entityType": "Individual",
"basic": {
"firstName": "string",
"lastName": "string",
"middleName": "string",
"namePrefix": "string",
"nameSuffix": "string",
"credential": "MD",
"soleProprietor": "YES",
"sex": "M",
"enumerationDate": "2007-01-05",
"lastUpdatedAt": "2007-07-08",
"certificationDate": "2019-08-24",
"deactivationDate": "2019-08-24",
"reactivationDate": "2019-08-24",
"replacementNpi": "string"
},
"addresses": [
{
"addressPurpose": "MAILING",
"addressType": "DOM",
"countryCode": "US",
"countryName": "United States",
"address1": "PO BOX 191227",
"address2": "string",
"city": "SAN JUAN",
"state": "PR",
"postalCode": "009191227",
"telephoneNumber": "+4155552671",
"faxNumber": "787-294-0319"
}
],
"taxonomies": [
{
"code": "174400000X",
"taxonomyGroup": "string",
"desc": "Specialist",
"state": "PR",
"license": "13731",
"primary": true
}
],
"identifiers": [
{
"identifier": "string",
"state": "string",
"issuer": "string",
"typeCode": "string",
"typeValue": "string",
"stateName": "string"
}
],
"otherNames": [
{
"lastName": "string",
"firstName": "string",
"middleName": "string",
"credential": "string",
"prefix": "string",
"suffix": "string",
"typeCode": "string",
"typeName": "Former Name"
}
]
}
],
"stateLicenses": [
{
"number": "string",
"state": "CA",
"professionCode": "RN",
"status": "active",
"expirationDate": "2025-12-31",
"taxonomies": [
{
"code": "string",
"name": "string"
}
],
"source": "string"
}
],
"dmf": {
"ssn": "string",
"deceased": true,
"isMatch": true,
"score": 95,
"middleNameDiscrepancy": false,
"dob": "1947-03-28",
"dod": "2021-09-14"
}
}
],
"proEntities": [
{
"recordId": "8f1c0b74-record",
"firstName": "Marcus",
"lastName": "Whitfield",
"actionType": "License Suspension",
"sourceAuthority": "California Board of Registered Nursing",
"sourceJurisdiction": "CA",
"sourceType": "State Licensing Board",
"profession": "RN",
"license": "K5382916",
"actionDate": "2023-07-14",
"actionDetail": "Suspended pending resolution of disciplinary proceedings."
}
],
"customProperties": {
"property1": "string",
"property2": "string"
},
"warnings": [
{
"search": "proSearch",
"code": "not_processed",
"detail": "The proEntities attribute was not included because the provided full name has only one word. Provide a first and last name, or a full name with at least two words."
}
]
}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/entities#response-body
400 — Bad Request
401 — Unauthorized
403 — Forbidden
404 — Not Found
4XX — Client Error
5XX — Server Error