---
title: "Update an Account"
method: PATCH
path: "/accounts/{account-id}"
tags: ["accounts"]
---

# Update an Account

`PATCH /accounts/{account-id}`

## Request

- Base URL: `https://api.withpersona.com/api/v1`
- URL: `https://api.withpersona.com/api/v1/accounts/{account-id}`
- Auth: HTTP bearer

Updates an existing Account.

## Path parameters

- `account-id` string, required

## Query parameters

- `include` string
- `fields` object

## Headers

- `Key-Inflection` 'camel' | 'kebab' | 'snake'
- `Idempotency-Key` string
- `Persona-Version` '2026-09-29' | '2025-12-08' | '2025-10-27' | '2023-01-05' | '2022-09-01' | '2021-08-18' | '2021-07-05' | '2021-02-21' | '2020-05-18': Server API version. More info on versioning can be found [here](https://docs.withpersona.com/versioning).

## Request body

- object
  - `data` AccountsAccountIdPatchRequestBodyContentApplicationJsonSchemaData
    - `attributes` AccountsAccountIdPatchRequestBodyContentApplicationJsonSchemaDataAttributes
      - `reference-id` string: Reference ID on Account, refers to an entity in your user model
      - `account-status` string: Name of the status to set on this Account.
      - `selfie-photo` AccountsAccountIdPatchRequestBodyContentApplicationJsonSchemaDataAttributesSelfiePhoto: Selfie photo.
        - `data` AccountsAccountIdPatchRequestBodyContentApplicationJsonSchemaDataAttributesSelfiePhotoData: Selfie photo data, must be an image. Can also be provided as an uploaded file such as with multipart/form-data requests instead of this object. Null will remove the existing selfie photo from the Account.
          - `data` string: Base64 encoded image
          - `filename` string: Name of the image
      - `tags` string[], nullable: A list of tag names to be associated with the Account.
      - `country-code` string: ISO 3166-1 alpha 2 country code.
      - `social-security-number` string: Social security number.
      - `fields` object: JSON key-value pairs of field name to field value. Schema is defined by your Account Type.
      - `birthdate` string, date: Birthdate, must be in the format "YYYY-MM-DD".
      - `name-first` string: Given or first name.
      - `name-middle` string: Middle name.
      - `name-last` string: Family or last name.
      - `phone-number` string: Phone number.
      - `email-address` string: Email address.
      - `address-street-1` string: Street name of residence address.
      - `address-street-2` string: Extension of residence address, usually apartment or suite number.
      - `address-city` string: City of residence address. Not all international addresses use this attribute.
      - `address-subdivision` string: State or subdivision of residence address. In the US, this should be the unabbreviated name. Not all international addresses use this attribute.
      - `address-postal-code` string: ZIP or postal code of residence address. Not all international addresses use this attribute.

## Response `200`

This endpoint returns an Account object and (optionally) its related objects in `included`.

- AccountsUpdateAnAccountResponse200
  - `data` Account, required: An Account object. Note that `fields` is **not** key inflected.
    - `id` string
    - `attributes` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributes
      - `reference-id` string, nullable
      - `account-type-name` string
      - `created-at` string, date-time
      - `updated-at` string, date-time
      - `redacted-at` string, date-time, nullable
      - `fields` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFields: JSON key-value pairs of field name to field value. Exact schema depends on the configuration of the Account Type for this Account. Keys in `fields` are **not** key inflected.
        - `name` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsName
          - `type` string
          - `value` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValue
            - `first` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueFirst
              - …
            - `middle` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueMiddle
              - …
            - `last` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueLast
              - …
        - `address` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddress
          - `type` string
          - `value` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValue
            - `street_1` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueStreet1
              - …
            - `street_2` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueStreet2
              - …
            - `subdivision` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueSubdivision
              - …
            - `city` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueCity
              - …
            - `postal_code` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValuePostalCode
              - …
            - `country_code` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueCountryCode
              - …
        - `identification_numbers` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbers
          - `type` string
          - `value` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItems[]
            - `type` string
            - `value` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValue
              - …
        - `birthdate` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsBirthdate
          - `type` string
          - `value` string, nullable
        - `phone_number` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsPhoneNumber
          - `type` string
          - `value` string, nullable
        - `email_address` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsEmailAddress
          - `type` string
          - `value` string, nullable
        - `selfie_photo` VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsSelfiePhoto
          - `type` 'file'
          - `value` File
            - `filename` string
            - `url` string
            - `byte-size` integer
      - `tags` string[]
      - `account-status` string
    - `relationships` VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationships
      - `account-type` VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationshipsAccountType
        - `data` VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationshipsAccountTypeData
          - `id` string
          - `type` 'account-type'
  - `included` AccountsIncludedObjectsItems[]
    - `type` 'account-type', required: Discriminator value: account-type
    - `id` string
    - `attributes` AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeAttributes
      - `name` string
      - `created-at` string, date-time
      - `updated-at` string, date-time, nullable
      - `field-schemas` FieldSchema[]
        - union
          - object: array variant
            - `type` 'array', required
            - `key` string
            - `label` string, nullable
            - `config` FieldSchemaArrayConfig
              - …
          - object: boolean variant
            - `type` 'boolean', required
            - `key` string
            - `label` string, nullable
            - `default-value` boolean, nullable
            - `config` FieldSchemaBooleanConfig
              - …
          - object: choices variant
            - `type` 'choices', required
            - `key` string
            - `label` string, nullable
            - `default-value` string, nullable: Must be one of the values in `config.options`, or null.
            - `config` FieldSchemaChoicesConfig
              - …
          - object: date variant
            - `type` 'date', required
            - `key` string
            - `label` string, nullable
            - `default-value` string, date, nullable
            - `config` FieldSchemaDateConfig
              - …
          - object: datetime variant
            - `type` 'datetime', required
            - `key` string
            - `label` string, nullable
            - `default-value` string, date-time, nullable
            - `config` FieldSchemaDatetimeConfig
              - …
          - object: email-address variant
            - `type` 'email-address', required
            - `key` string
            - `label` string, nullable
            - `default-value` string, nullable
            - `config` FieldSchemaEmailAddressConfig
              - …
          - object: file variant
            - `type` 'file', required
            - `key` string
            - `label` string, nullable
            - `config` FieldSchemaFileConfig
              - …
          - object: hash variant
            - `type` 'hash', required
            - `key` string
            - `label` string, nullable
            - `config` FieldSchemaHashConfig
              - …
          - object: integer variant
            - `type` 'integer', required
            - `key` string
            - `label` string, nullable
            - `default-value` integer, nullable
            - `config` FieldSchemaIntegerConfig
              - …
          - object: json variant
            - `type` 'json', required
            - `key` string
            - `label` string, nullable
            - `default-value` unknown
            - `config` FieldSchemaJsonConfig
              - …
          - object: multi-choices variant
            - `type` 'multi-choices', required
            - `key` string
            - `label` string, nullable
            - `default-value` string[], nullable: Each entry must be one of the values in `config.options`.
            - `config` FieldSchemaMultiChoicesConfig
              - …
          - object: number variant
            - `type` 'number', required
            - `key` string
            - `label` string, nullable
            - `default-value` number, double, nullable
            - `config` FieldSchemaNumberConfig
              - …
          - object: platform-file variant
            - `type` 'platform-file', required
            - `key` string
            - `label` string, nullable
            - `config` FieldSchemaPlatformFileConfig
              - …
          - object: string variant
            - `type` 'string', required
            - `key` string
            - `label` string, nullable
            - `default-value` string, nullable
            - `config` FieldSchemaStringConfig
              - …
          - object: relation-schema variant
            - `type` 'relation-schema', required
            - `key` string
            - `label` string, nullable
            - `config` FieldSchemaRelationConfig
              - …
    - `relationships` AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationships
      - `account-statuses` AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsAccountStatuses
        - `data` AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsAccountStatusesDataItems[]
          - `type` 'account-status'
          - `id` string
      - `default-account-status` AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsDefaultAccountStatus
        - `data` AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsDefaultAccountStatusData
          - `type` 'account-status'
          - `id` string

## Other responses

- `400`: The request was unacceptable, often due to invalid parameters.
- `401`: An invalid API key was provided.
- `403`: The given API key doesn’t have permissions to perform the request or a quota has been exceeded.
- `404`: The requested resource doesn’t exist.
- `409`: The request conflicts with another request, often due to attempting to create a duplicate resource.
- `422`: The request modifies the resource in an unacceptable way, often due to an invalid action or parameter.
- `429`: Your organization’s rate limit has been exceeded. We recommend an exponential backoff on requests.

---

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