---
updatedAt: 2026-09-29T08:40:38.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Add accepted applicant consents

# Overview

Use this method to record that an applicant has already accepted certain legally significant language outside of the SDK. This may include, for example, the acknowledgment of a privacy notice or consenting to data processing.

The method is mandatory to be used in API-only integrations or cases where consent has been obtained externally and does not need to be presented again in the SDK.

Recorded consents become part of the applicant's consent history and can be retrieved via the [Get applicant-facing consents](https://docs.sumsub.com/sumsub/reference/get-accepted-applicant-agreements) method.

See [Applicant Privacy Disclosures and Consent Requirements](https://docs.sumsub.com/sumsub/docs/applicant-privacy-disclosures-and-consent-requirements) for more details.

<Callout icon="📘" theme="info">
  ### Notes

  - If the applicant gave a single consent that covers multiple agreements, add multiple objects to the `records` array.
  - If the applicant gave separate consents, you can include multiple objects in the `applicantAgreements` array. These will be grouped within a single item in the response, using the most recent `acceptedAt` timestamp.
</Callout>

## Required permissions

To use this method, your [app token](https://docs.sumsub.com/sumsub/docs/app-tokens) must have the **View applicants** [permission](https://docs.sumsub.com/sumsub/docs/user-roles#permissions).

# Request example

```curl
curl -X POST \
     'https://api.sumsub.com/resources/applicants/6824bc5e93dc802528e00000/agreements' \
     -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 '{
            "applicantAgreements": [
              {
                "records": [
                  {
                    "content": "https://sumsub.com/notification-to-processing-of-personal-data"
                  },
                  {
                    "content": "https://sumsub.com/privacy-user-acknowledgement-and-consent"
                  }
                ],
                "acceptedAt": "2025-04-01 01:01:04",
                "residenceCountry": "USA"
              }
            ]
          }'
```

# Response explained

Upon successful execution, the response will have a status code of 200 and include the applicant information in the JSON format, as described in [Get applicant data](https://docs.sumsub.com/sumsub/reference/get-applicant-data#response-explained).

Refer to the [`agreement` object](https://docs.sumsub.com/sumsub/reference/get-applicant-data#agreement-attributes) for detailed information about consent acceptance.

# Response example

The `agreement` object includes an `items` array, where each object represents an individual consent event and may contain multiple agreements.

```json
{
  "id": "68275b92cfe61383cb7b81d2",
  "createdAt": "2025-05-16 15:36:50",
  "clientId": "your_cool_id",
  "externalUserId": "SomeExternalUserId",
  "applicantPlatform": "Web",
  "agreement": {
    "items": [
      {
        "id": "0d9ae56b-1ab7-4486-851f-39f52630f2e0",
        "acceptedAt": "2025-05-16 15:42:30",
        "source": "API",
        "type": "onboarding",
        "recordIds": [
          "68275b37070f404802ba0cff",
          "68275b37070f404802ba0d12"
        ]
      },
      {
        "id": "b651bc62-2cdd-4cb5-85ae-9922f395be7f",
        "acceptedAt": "2025-05-18 15:47:08",
        "source": "API",
        "type": "onboarding",
        "recordIds": [
          "68275dfc070f404802c85f81"
        ]
      }
    ]
  },
  "requiredIdDocs": {
    "docSets": [
      {
        "idDocSetType": "PHONE_VERIFICATION"
      }
    ]
  },
  "review": {
    "reviewId": "QRZtn",
    "attemptId": "FCBXT",
    "attemptCnt": 0,
    "levelName": "basic_phone_check",
    "createDate": "2025-05-16 15:36:50+0000",
    "reviewStatus": "init",
    "priority": 0
  },
  "lang": "en",
  "type": "individual"
}
```

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "sumsub-api",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.sumsub.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "name": "X-App-Token",
        "in": "header",
        "x-default": ""
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/resources/applicants/{applicantId}/agreements": {
      "post": {
        "summary": "Add accepted applicant consents",
        "description": "",
        "operationId": "add-accepted-applicant-consents",
        "parameters": [
          {
            "name": "applicantId",
            "in": "path",
            "description": "Unique identifier of the applicant in the Sumsub system. <br><br>This identifier is a random combination of 24 digits and lowercase Latin characters. It is automatically generated when the applicant is created on the Sumsub side, and can be found in the [Dashboard](https://cockpit.sumsub.com/checkus/#/applicants/individual?limit=10&page=0). <br><br>If the `applicantId` is unknown to you, use the [Get applicant data (externalUserId)](https://docs.sumsub.com/sumsub/reference/get-applicant-data-via-externaluserid) method to fetch it.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicantAgreements"
                ],
                "properties": {
                  "applicantAgreements": {
                    "type": "array",
                    "description": "Each object in this array represents a single consent event and may include multiple agreements if the applicant accepted them simultaneously.",
                    "items": {
                      "properties": {
                        "records": {
                          "type": "array",
                          "description": "⚠️ Required. Each object contains the text of an individual agreement accepted by the applicant.",
                          "items": {
                            "properties": {
                              "content": {
                                "type": "string",
                                "description": "Provide the full text of the agreement. You can also add a link to the agreement if necessary."
                              }
                            },
                            "required": [
                              "content"
                            ],
                            "type": "object"
                          }
                        },
                        "acceptedAt": {
                          "type": "string",
                          "description": "Date and time (GMT) when the applicant confirmed their consent. Format: `YYYY-MM-DD HH-MM-SS`, e.g., `2025-04-01 01:01:04`.",
                          "format": "date-time"
                        },
                        "residenceCountry": {
                          "type": "string",
                          "description": "Applicant country of residence. Presented as an alpha-3 country code (for example, `DEU`, `GBR`, `ARG`, and so on). <br><br>⚠️ Mandatory if the country of residence is the USA."
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```