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

# Update profile

`PATCH /core/kyc/processes/profile`

## Request

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

Update the profile 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

- object
  - `input` object, required
    - `fullName` string: The full legal name.
    - `birthdate` string, date: The date of birth.
    - `birthplace` object: The place of birth.
      - `country` string, required: The country of birth.
      - `town` string, required: The town of birth.
    - `primaryCitizenship` string: The primary citizenship country.
    - `citizenshipCountry` string: The citizenship country. Deprecated in favor of primaryCitizenship.
    - `otherCitizenships` CountryCodeForRequest[]: Additional citizenship countries.
    - `address` object: The address information.
      - `subdivision` string: The subdivision of the address.
      - `city` string: The city of the address.
      - `line1` string: The first line of the address.
      - `line2` string
      - `postalCode` string: The postal code of the address.
    - `details` object: Dynamic form input following the [JSON Forms](https://jsonforms.io/) specification. Deprecated in favor of the flat profile fields.

## Response `200`

KYC profile process updated.

- object
  - `profile` KycProfile, required
    - `code` string, required: The code of the KYC process.
    - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYC process.
    - `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.
      - `rules` object
        - `fullName` ProcessVerificationRule: The process verification rule.
          - `presence` 'required' | 'optional' | 'disallowed', required
          - `editable` boolean, required
        - `birthdate` ProcessVerificationRule: The process verification rule.
          - `presence` 'required' | 'optional' | 'disallowed', required
          - `editable` boolean, required
        - `birthplace` object: The process verification rule.
          - `presence` 'required' | 'optional' | 'disallowed', required
          - `editable` boolean, required
          - `rules` object
            - `country` ProcessVerificationRule: The process verification rule.
              - …
            - `town` ProcessVerificationRule: The process verification rule.
              - …
        - `citizenshipCountry` ProcessVerificationRule: The process verification rule.
          - `presence` 'required' | 'optional' | 'disallowed', required
          - `editable` boolean, required
        - `primaryCitizenship` ProcessVerificationRule: The process verification rule.
          - `presence` 'required' | 'optional' | 'disallowed', required
          - `editable` boolean, required
        - `otherCitizenships` ProcessVerificationRule: The process verification rule.
          - `presence` 'required' | 'optional' | 'disallowed', required
          - `editable` boolean, required
        - `address` object: The process verification rule.
          - `presence` 'required' | 'optional' | 'disallowed', required
          - `editable` boolean, required
          - `rules` object
            - `subdivision` ProcessVerificationRule: The process verification rule.
              - …
            - `city` ProcessVerificationRule: The process verification rule.
              - …
            - `line1` ProcessVerificationRule: The process verification rule.
              - …
            - `line2` ProcessVerificationRule: The process verification rule.
              - …
            - `postalCode` ProcessVerificationRule: The process verification rule.
              - …
    - `input` object: The declared profile details.
      - `fullName` string: The full legal name.
      - `birthdate` string, date: The date of birth.
      - `birthplace` object: The place of birth.
        - `country` string, required: The country of birth.
        - `town` string, required: The town of birth.
      - `primaryCitizenship` string: The primary citizenship country.
      - `citizenshipCountry` string: The citizenship country. Deprecated in favor of primaryCitizenship.
      - `otherCitizenships` string[]: Additional citizenship countries.
      - `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.
      - `details` object: Dynamic form input following the [JSON Forms](https://jsonforms.io/) specification. Deprecated in favor of the flat profile fields.
    - `hint` KycProcessHintForm: The hint for the KYC process.
      - `type` 'form', required: The type of the hint.
      - `formId` string, uuid: The id of the form.
      - `schema` object, required: The definition of the structure and validation rules for this KYC process form. It follows the [JSON Schema](https://json-schema.org/) specification with the power of [JSON Forms](https://jsonforms.io/). The schema is iterative, meaning that new questions and properties can be added dynamically as the KYC process evolves. This allows for a flexible and adaptive form structure that can accommodate changes and new requirements over time.
      - `uiSchema` object, required: The definition of the general layout and presentation of the form by means of different UI schema elements. It follows the [JSON Forms](https://jsonforms.io/) specification and is used to customize the appearance and behavior of the form fields. The `uiSchema` includes the following elements: - `Layouts`: Used to structure the form layout. It includes properties like `type` to define the layout type (e.g., `Categorization`) and `elements` to define the child elements. - `Controls`: Used to define the form controls. It includes properties like `scope` to point to the corresponding schema property and `label` to define the control's label. - `Rules`: Used to define conditional visibility rules for form controls. It includes properties like `effect` to define the rule effect (e.g., `SHOW`) and `condition` to define the rule condition. The `uiSchema` is iterative, meaning that new controls and layout elements can be added dynamically as the KYC process evolves. This allows for a flexible and dynamic form layout, enhancing the user experience by providing a structured and intuitive form design that can adapt to new requirements and changes over time.
  - `warnings` ProcessWarnings: The warnings generated during a process update.

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized.
- `403`: Forbidden.
- `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)
