| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Overview
Use this method to set an applicant status to Rejected.
When invoked, the applicant status is updated in the Dashboard to Rejected, and the API response reflects the following state changes:
reviewStatus: "completed"reviewResult.reviewRejectType: "FINAL"reviewResult.reviewAnswer: "RED"
When you reject an applicant via this API method, the system automatically sets the EXTERNAL_DECISION_REJECTION reject label. You can see this label under the applicant status Rejected in the Dashboard or in the API response under rejectLabels.
WarningThis endpoint can temporarily reject the status change with a
409 Conflicterror, a message asking to retry, and a header indicating the time after which you can retry — for example,Retry-After: 10(seconds). This can happen when an applicant is set topendingand then almost immediately moved to a final status via the API (for example,approvedright afterpending) — the request may arrive while internal processing is still running.To handle this:
- Retry
409responses instead of treating them as permanent failures. If the response includes aRetry-Afterheader, wait for the interval it specifies; otherwise, fall back to a short fixed delay (for example, 10–15 seconds).- Avoid calling
approve/reject/initimmediately after moving an applicant topending— wait for processing to finish, or be ready to retry on conflict.
Notes
- You can reject applicants via API regardless of their current status.
- This method rejects an applicant without altering the status of verification steps, documents, images, or other associated data.
- The
reasonsyou send do not create associated rejection labels or buttons. They are used only for logging rejection reasons and are not displayed in the Dashboard or in the JSON response. Check the list of all possible external decision rejection reasons and their associated groups on this page.
Request example
curl -X POST \
'https://api.sumsub.com/resources/applicants/687fb2373fc85ad66b5d8744/-/reject' \
-H 'content-type: application/json' \
-H 'X-App-Token: <your-app-token>' \
-H 'X-App-Access-Sig: <your-signature>' \
-H 'X-App-Access-Ts: <unix-timestamp>' \
-d '{
"note": "Example note",
"tags": [
"First tag",
"Second tag"
],
"reasons": {
"device": [
"suspiciousDevice"
]
}
}'Response explained
If the request is sent and processed successfully, you will receive a JSON response representing the applicant profile with augmented and structured information.
You can see the response structure, possible content with descriptions, and examples of response on the following page.
If the request fails, you will receive an HTTP response containing an error code and a message explaining the error.
For example:
{
"code": 400,
"description": "When rejecting an applicant, reasons must be provided with at least one reason",
"correlationId": "0d3457fdac54803edf23c932ddd561a2"
}