---
updatedAt: 2026-09-29T07:52:26.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Change profile data details

# Overview

Use this method to update the data in the **Profile information** section of an applicant profile, providing more flexibility than the Dashboard. For example, you can change the applicant's email address and/or phone number, modify the applicant registration date in your system, and so on.

> In the Dashboard, you can only edit some of the **Profile information** fields, provided you have proper [permissions](https://docs.sumsub.com/sumsub/docs/user-roles#permissions).

## Required permissions

To use this method, your [app token](https://docs.sumsub.com/sumsub/docs/app-tokens) must have the **Change applicant's personal data** [permission](https://docs.sumsub.com/sumsub/docs/user-roles#permissions).

## Request examples

```curl Common example
curl -X PATCH \
     'https://api.sumsub.com/resources/applicants' \
     -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 '{
            "id": "5e9ad53d0a975a0000000000",
            "email": "new@email.com",
            "phone": "+49 123456789",
            "sourceKey": "newSourceKey",
            "metadata": [
              {
                "key": "keyFromClient",
                "value": "valueFromClient"
              }
            ],
            "lang": "en"
          }'
```
```curl Make applicant read-only in the Dashboard
// This example demonstrates how to make the applicant read-only in the Dashboard while remaining editable via the API and SDK.

curl -X PATCH \
     'https://api.sumsub.com/resources/applicants' \
     -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 '{
            "id": "5e9ad53d0a975a0000000000",
            "structuredMetadata": {
              "readOnlySettings": [
                "dashboard"
              ]
            }
          }'
```
```curl Revert readOnlySettings to default
// This example demonstrates how to revert the applicant profile edit behavior to default settings, with no restrictions on editing in the Dashboard or via the API.

curl -X PATCH \
     'https://api.sumsub.com/resources/applicants' \
     -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 '{
            "id": "5e9ad53d0a975a0000000000",
            "structuredMetadata": {
              "readOnlySettings": []
            }
          }'
```

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

  The request body must contain only the fields that you want to change; null fields are ignored.
</Callout>

# Response explained

The response is a JSON file representing the applicant profile with augmented and structured information. You can find the response structure, possible content with descriptions, and response examples on [this page](https://docs.sumsub.com/sumsub/reference/get-applicant-data#response-explained).

## Response example

```json
{
  "id": "5e9ad53d0a975a0000000000",
  "createdAt": "2020-04-18 10:23:57",
  "inspectionId": "5e9ad53d0a975a656d67e4d1",
  "externalUserId": "1983114",
  "email": "new@email.nz",
  "requiredIdDocs": {
    "docSets": [
      {
        "idDocSetType": "IDENTITY",
        "types": [
          "ID_CARD",
          "PASSPORT",
          "DRIVERS"
        ]
      },
      {
        "idDocSetType": "SELFIE",
        "types": [
          "SELFIE"
        ],
        "videoRequired": "liveness"
      }
    ]
  },
  "review": {
    "createDate": "2020-04-18 10:25:53+0000",
    "expireDate": "2020-04-18 10:40:53+0000",
    "reviewStatus": "init"
  },
  "lang": "en",
  "type": "individual"
}
```

If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error.

For example:

```json
{
  "description": "Malformed data provided in the request",
  "code": 400,
  "correlationId": "b0e8cacbb0024fa37129118767d0f871"
}
```

# 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/": {
      "patch": {
        "summary": "Change profile data details",
        "description": "",
        "operationId": "change-profile-data-details",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Unique applicant identifier in the Sumsub system. It correlates to `applicantId`. <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."
                  },
                  "email": {
                    "type": "string",
                    "description": "New applicant email address. <br><br>It is mandatory if the [email verification](https://docs.sumsub.com/sumsub/docs/email-and-phone-verification) is required. If not provided, the applicant cannot receive [verification status emails](https://docs.sumsub.com/sumsub/docs/review-results-in-applicant-profile#send-verification-status-email)."
                  },
                  "phone": {
                    "type": "string",
                    "description": "New applicant phone number.<br><br>It is mandatory if the [phone verification](https://docs.sumsub.com/sumsub/docs/email-and-phone-verification) is required."
                  },
                  "sourceKey": {
                    "type": "string",
                    "description": "New [source key](https://docs.sumsub.com/sumsub/docs/source-keys) that you want to assign to the applicant. <br><br>Mind that you must specify one of the previously created and existing source keys. Otherwise, nothing will be changed."
                  },
                  "lang": {
                    "type": "string",
                    "description": "Specify a new language in the two-letter code (ISO 639-1 format, for example, `en`, `fr`, `de`) for the SDK and emails sent to the applicant. <br><br>The verification results should be displayed to the applicant in this language as well. As a rule, it is detected by the applicant IP address. You can set the language when creating an applicant or [initializing the SDK](https://docs.sumsub.com/sumsub/docs/set-up-frontend-integration) (MSDK)."
                  },
                  "registrationDate": {
                    "type": "string",
                    "description": "Date and time when the applicant was initially registered in your system. Format: `YYYY-MM-DD hh:mm:ss` (for example, `2025-01-15 10:20:35`).",
                    "format": "date-time"
                  },
                  "metadata": {
                    "type": "array",
                    "description": "Additional information in custom fields that is not displayed to the applicant and not checked by Sumsub. <br><br>You can specify any information related to the applicant you want. For example: `[{\"key\": \"keyFromClient\", \"value\": \"valueFromClient\"}]`."
                  },
                  "structuredMetadata": {
                    "type": "object",
                    "description": "Container for structured applicant metadata and configuration settings.",
                    "properties": {
                      "readOnlySettings": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "<p>Defines where the applicant profile is read-only.</p><ul><li>Specify <code>dashboard</code> to make the applicant read-only in the Dashboard while remaining editable via the API and SDK.</li><li>Send an empty <code>\"readOnlySettings\": []</code> array to apply the default behavior with no restrictions. In the request builder, click <b>ADD STRING</b> and leave the value empty to display the empty array in the live example section.</li></ul><p>See <a href=\"ref:change-profile-data-details#request-examples\">Request examples</a> for details.</p>"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```