| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Overview
Use this method to approve an applicant action.
In effect, the action status is updated in the Dashboard to Approved, and the API response reflects the following state changes:
reviewStatus: "completed"reviewResult.reviewAnswer: "GREEN"
You can optionally attach a moderation note and/or tags to the decision.
AttentionNotes and tags are optional, but if omitted, you must include an empty request body
-d '{}'; otherwise, a400error is returned. See the request examples for details.
Request examples
// This example demonstrates how to send a request with all parameters provided.
curl -X POST \
'https://api.sumsub.com/resources/api/applicantActions/663b388x3f882642c48f43af0/-/approve' \
-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"
]
}'// This example demonstrates how to send a request without body parameters.
curl -X POST \
'https://api.sumsub.com/resources/api/applicantActions/663b388x3f882642c48f43af0/-/approve' \
-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 '{}'Response explained
If the request is sent and processed successfully, you will receive a JSON response representing the applicant action with augmented and structured information.
You can see the response structure, possible content with descriptions, and examples of response on the following page.
Response examples
If the request is successfully sent and processed, you will get a response like the following:
{
"id": "action_id",
"createdAt": "2026-05-11 16:15:26",
"clientId": "your_client_id",
"externalActionId": "external_action_id",
"applicantId": "applicantid",
"type": "paymentMethod",
"review": {
"reviewId": "ACHhX",
"attemptId": "RKmOR",
"attemptCnt": 7,
"elapsedSincePendingMs": 62659111,
"elapsedSinceQueuedMs": 62659111,
"levelName": "level-name",
"createDate": "2026-05-11 16:16:07+0000",
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed"
},
"checks": [
{
"answer": "GREEN",
"checkType": "FACE_LIVELINESS",
"createdAt": "2026-05-11 16:16:05",
"id": "c7ec345c-2b1b-4a102-92c7-2948f6bb036x",
"livenessInfo": {
"livenessData": {
"sessionId": "6a02100aea08c370e306885fb",
"images": [
{
"imageId": 6421667767
},
{
"imageId": 5161501155
},
{
"imageId": 1851233152
},
{
"imageId": 13710045736
}
]
},
"livenessResult": {
"answer": "GREEN"
}
},
"imageIds": [
3681236159
]
},
{
"answer": "GREEN",
"checkType": "AUTO_CHECK",
"createdAt": "2026-05-11 16:16:07",
"id": "daa654de-a264-4dvcb-b3ec-b32f02a896f0",
"attemptId": "jQzQz"
}
],
"requiredIdDocs": {
"docSets": [
{
"idDocSetType": "SELFIE",
"types": [
"SELFIE"
],
"videoRequired": "passiveLiveness",
"selfieProcessingSettings": {
"skipFaceMatchCheck": true
}
}
]
},
"agreement": {
"items": [
{
"id": "b5bx0a281-6a2a-42198-b13d-c5b12f5739c8",
"acceptedAt": "2026-05-11 16:15:34",
"source": "WebSDK"
}
],
"createdAt": "2026-05-11 16:15:34",
"acceptedAt": "2026-05-11 16:15:34",
"source": "WebSDK"
},
"images": [
{
"id": "6a0200c5a0c8cv370e30688616",
"addedDate": "2026-05-11 16:16:05",
"imageHash": "57176e6a8bb8077v926d61cd5ef12cv0da0617a4b57",
"imageFileName": "liveness_selfie.jpg",
"resizedImageId": 32018776771,
"mimeType": "jpeg",
"imageId": 36821736159,
"actualResolution": {
"width": 1920,
"height": 1080
},
"answer": "YELLOW",
"comments": null,
"idDocDef": {
"country": "ATA",
"idDocType": "SELFIE"
}
}
],
"applicantType": "individual",
"tags": [
"test",
"high-risk"
],
"reviewResult": {
"reviewAnswer": "GREEN"
}
}If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error. For example:
{
"code": 400,
"description": "Human-readable description",
"correlationId": "0d3457fdac54803edf23c90000000000"
} 200