---
title: "Update identity"
method: PATCH
path: "/core/kyc/processes/identity"
tags: ["KYC"]
---

# Update identity

`PATCH /core/kyc/processes/identity`

## Request

- Base URL: `https://api.enterprise.sandbox.uphold.com`
- URL: `https://api.enterprise.sandbox.uphold.com/core/kyc/processes/identity`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/core/oauth2/token` scopes: `core.kyc.identity:update`
- TypeScript: <https://skmtc.dev/uphold/apis/core-api/docs/core/kyc/processes/identity/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update the identity process for an individual user.

## Headers

- `X-On-Behalf-Of` string
- `X-Uphold-User-Ip` union
  - string, ipv4
  - string, ipv6
- `X-Uphold-User-Agent` string
- `X-Uphold-User-Origin` string
- `X-Uphold-User-Country` string
- `X-Uphold-User-Subdivision` string
- `X-Uphold-User-City` string

## Request body

- union
  - object
    - `type` 'document-submission', required: The identity submission type.
    - `input` object: Input of the KYC process.
      - `media` object[]: The media that was used to verify the process.
        - `context` 'photo-document-front' | 'photo-document-back' | 'photo-selfie' | 'photo-selfie-and-document-front' | 'video', required: The context of the file.
        - `fileId` string, uuid, required: The id of the file.
    - `output` object: Output of the KYC process.
      - `provider` string: The provider used to verify the KYC process.
      - `document` object, required: The identity document information.
        - `type` 'driving-license' | 'id-card' | 'passport' | 'residence-permit', required: The type of the document.
        - `number` string, required: The number of the document.
        - `country` string, required: The country of the document.
        - `expiresAt` string, date: The expiration date of the document.
      - `person` object, required: The person information.
        - `givenName` string, required: The person's given name.
        - `familyName` string: The person's family name or surname.
        - `birthdate` string, date, required: The date of birth.
        - `gender` 'female' | 'male': The gender.
        - `address` object: The address information.
          - `country` string, required: The country of the address.
          - `subdivision` string: The subdivision of the address.
          - `city` string: The city of the address.
          - `line1` string: The first line of the address.
          - `line2` string: The second line of the address.
          - `postalCode` string: The postal code of the address.
      - `verifiedAt` string, date-time, required: The date and time of the verification.
  - object
    - `type` 'electronic-verification', required: The identity submission type.
    - `input` object, required: Input of the KYC process.
      - `data` object, required: The declared data used to verify the process.
        - `givenName` string, required: The given name.
        - `familyName` string: The family name or surname.
        - `birthdate` string, date, required: The date of birth.
        - `citizenshipCountry` string, required: The citizenship country.
        - `gender` 'female' | 'male': The gender.
        - `address` object: The address information.
          - `country` string, required: The country of the address.
          - `subdivision` string: The subdivision of the address.
          - `city` string: The city of the address.
          - `line1` string: The first line of the address.
          - `line2` string: The second line of the address.
          - `postalCode` string: The postal code of the address.
    - `output` object: Output of the KYC process.
      - `provider` string: The provider used to verify the KYC process.
      - `verifiedAt` string, date-time, required: The date and time of the verification.

## Response `200`

KYC identity process updated.

- object
  - `identity` union, required: The KYC identity object.
    - KycIdentityNone
      - `code` string, required: The code of the KYC process.
      - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYC process.
      - `type` 'none': The identity submission type.
      - `verification` object: Configuration of this process.
        - `model` 'none' | 'partner-verified' | 'uphold-verified', required: The verification model to complete this process.
        - `method` 'automatic' | 'manual', required: Whether this process is verified automatically in the background or requires user action.
        - `triggers` string[]: Other processes that, once updated, trigger this process to run automatically. Only present when `method` is `automatic`.
        - `dependencies` string[], required: The processes that must be updated before you can update this one.
        - `submittable` boolean, required: Whether this process currently accepts a new submission.
    - KycIdentityDocumentSubmission
      - `code` string, required: The code of the KYC process.
      - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYC process.
      - `type` 'document-submission', required: The identity submission type.
      - `verification` object: Configuration of this process.
        - `model` 'none' | 'partner-verified' | 'uphold-verified', required: The verification model to complete this process.
        - `method` 'automatic' | 'manual', required: Whether this process is verified automatically in the background or requires user action.
        - `triggers` string[]: Other processes that, once updated, trigger this process to run automatically. Only present when `method` is `automatic`.
        - `dependencies` string[], required: The processes that must be updated before you can update this one.
        - `submittable` boolean, required: Whether this process currently accepts a new submission.
      - `input` object: Input of the KYC process.
        - `media` object[], required: The media that was collected during the process.
          - `context` 'photo-document-front' | 'photo-document-back' | 'photo-selfie' | 'photo-selfie-and-document-front' | 'video', required: The context of the file.
          - `fileId` string, uuid, required: The id of the file.
      - `output` object: Output of the KYC process.
        - `provider` string, required: The provider used to verify the KYC process.
        - `providerDetails` object: The provider details associated with the verification.
          - `reasons` string[]: The reasons associated with the verification.
        - `reason` 'data-mismatch' | 'duplicate' | 'underage' | 'provider-verification-rejected': The reason associated with the verification.
        - `document` object, required: The identity document information.
          - `type` 'driving-license' | 'id-card' | 'passport' | 'residence-permit' | 'unsupported', required: The type of the document.
          - `number` string, required: The number of the document.
          - `country` string, required: The country of the document.
          - `expiresAt` string, date: The expiration date of the document.
        - `person` object, required: The person information.
          - `givenName` string, required: The person's given name.
          - `familyName` string: The person's family name or surname.
          - `birthdate` string, date, required: The date of birth.
          - `gender` 'female' | 'male': The gender.
          - `address` object: The address information.
            - `country` string, required: The country of the address.
            - `subdivision` string: The subdivision of the address.
            - `city` string: The city of the address.
            - `line1` string: The first line of the address.
            - `line2` string: The second line of the address.
            - `postalCode` string: The postal code of the address.
        - `verifiedAt` string, date-time, required: The date and time of the verification.
    - KycIdentityElectronicVerification
      - `code` string, required: The code of the KYC process.
      - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYC process.
      - `type` 'electronic-verification', required: The identity submission type.
      - `verification` object: Configuration of this process.
        - `model` 'none' | 'partner-verified' | 'uphold-verified', required: The verification model to complete this process.
        - `method` 'automatic' | 'manual', required: Whether this process is verified automatically in the background or requires user action.
        - `triggers` string[]: Other processes that, once updated, trigger this process to run automatically. Only present when `method` is `automatic`.
        - `dependencies` string[], required: The processes that must be updated before you can update this one.
        - `submittable` boolean, required: Whether this process currently accepts a new submission.
      - `input` object: Input of the KYC process.
        - `data` object, required: The declared data used to verify the process.
          - `givenName` string, required: The given name.
          - `familyName` string: The family name or surname.
          - `birthdate` string, date, required: The date of birth.
          - `citizenshipCountry` string, required: The citizenship country.
          - `gender` 'female' | 'male': The gender.
          - `address` object: The address information.
            - `country` string, required: The country of the address.
            - `subdivision` string: The subdivision of the address.
            - `city` string: The city of the address.
            - `line1` string: The first line of the address.
            - `line2` string: The second line of the address.
            - `postalCode` string: The postal code of the address.
      - `output` object: Output of the KYC process.
        - `provider` string, required: The provider used to verify the KYC process.
        - `reason` 'data-mismatch' | 'duplicate' | 'missing-declared-information' | 'underage': The reason associated with the verification.
        - `verifiedAt` string, date-time, required: The date and time of the verification.
  - `warnings` ProcessWarnings: The warnings generated during a process update.

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: Resource not found.
- `409`: Business logic error.
- `429`: Too Many Requests.

---

[API](https://skmtc.dev/uphold/apis/core-api.md) - [All operations](https://skmtc.dev/uphold/apis/core-api/llms.txt) - [OpenAPI document](https://skmtc.dev/uphold/apis/core-api/revisions/6c663575c57a?raw)
