> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.withpersona.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.withpersona.com/_mcp/server.

# Create an Account

POST https://api.withpersona.com/api/v1/accounts
Content-Type: application/json

Creates a new Account for your organization.

Reference: https://docs.withpersona.com/api-reference/accounts/create-an-account

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: '2025-12-08'
  version: 1.0.0
paths:
  /accounts:
    post:
      operationId: create-an-account
      summary: Create an Account
      description: Creates a new Account for your organization.
      tags:
        - subpackage_accounts
      parameters:
        - name: include
          in: query
          description: >-
            A comma-separated list of relationship paths. This can be used to
            customize which related resources will be fully serialized in the
            `included` key in the response. See
            [Serialization](https://docs.withpersona.com/serialization#inclusion-of-related-resources)
            for more details.
          required: false
          schema:
            type: string
        - name: fields
          in: query
          description: >-
            Comma-separated list(s) of attributes to include in the response.
            This can be used to customize which attributes will be serialized in
            the response. See
            [Serialization](https://docs.withpersona.com/serialization#sparse-fieldsets)
            for more details.
          required: false
          schema:
            type: object
            additionalProperties:
              type: string
        - name: Authorization
          in: header
          description: Bearer authentication
          required: true
          schema:
            type: string
        - name: Key-Inflection
          in: header
          description: Determines casing for the API response.
          required: false
          schema:
            $ref: '#/components/schemas/AccountsPostParametersKeyInflection'
        - name: Idempotency-Key
          in: header
          description: Ensures the request is idempotent.
          required: false
          schema:
            type: string
        - name: Persona-Version
          in: header
          required: false
          schema:
            $ref: '#/components/schemas/api-version'
      responses:
        '200':
          description: >-
            This endpoint returns an Account object and (optionally) its related
            objects in `included`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Accounts_create-an-account_Response_200'
        '400':
          description: The request was unacceptable, often due to invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Create-an-accountRequestBadRequestError'
        '401':
          description: An invalid API key was provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Create-an-accountRequestUnauthorizedError'
        '403':
          description: >-
            The given API key doesn’t have permissions to perform the request or
            a quota has been exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Create-an-accountRequestForbiddenError'
        '409':
          description: >-
            The request conflicts with another request, often due to attempting
            to create a duplicate resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Create-an-accountRequestConflictError'
        '422':
          description: >-
            The request modifies the resource in an unacceptable way, often due
            to an invalid action or parameter.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Create-an-accountRequestUnprocessableEntityError
        '429':
          description: >-
            Your organization’s rate limit has been exceeded. We recommend an
            exponential backoff on requests.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Create-an-accountRequestTooManyRequestsError
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  $ref: >-
                    #/components/schemas/AccountsPostRequestBodyContentApplicationJsonSchemaData
                meta:
                  $ref: >-
                    #/components/schemas/AccountsPostRequestBodyContentApplicationJsonSchemaMeta
servers:
  - url: https://api.withpersona.com/api/v1
    description: https://api.withpersona.com/api/v1
components:
  schemas:
    AccountsPostParametersKeyInflection:
      type: string
      enum:
        - camel
        - kebab
        - snake
      title: AccountsPostParametersKeyInflection
    api-version:
      type: string
      enum:
        - '2025-12-08'
        - '2025-10-27'
        - '2023-01-05'
        - '2022-09-01'
        - '2021-08-18'
        - '2021-07-05'
        - '2021-02-21'
        - '2020-05-18'
      description: >-
        Server API version. More info on versioning can be found
        [here](https://docs.withpersona.com/versioning).
      title: api-version
    AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributesSelfiePhotoData:
      type: object
      properties:
        data:
          type: string
          description: Base64 encoded image
        filename:
          type: string
          description: Name of the image
      description: >-
        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.
      title: >-
        AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributesSelfiePhotoData
    AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributesSelfiePhoto:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributesSelfiePhotoData
          description: >-
            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.
      description: Selfie photo.
      title: >-
        AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributesSelfiePhoto
    AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributes:
      type: object
      properties:
        account-type-id:
          type: string
          description: Account Type ID to create the account for. Starts with `acttp_`.
        account-status:
          type: string
          description: Name of the status to set on this Account.
        reference-id:
          type: string
          description: Reference ID on Account, refers to an entity in your user model
        selfie-photo:
          $ref: >-
            #/components/schemas/AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributesSelfiePhoto
          description: Selfie photo.
        tags:
          type:
            - array
            - 'null'
          items:
            type: string
          description: A list of tag names to be associated with the Account.
        country-code:
          type: string
          description: ISO 3166-1 alpha 2 country code.
        social-security-number:
          type: string
          description: Social security number.
        fields:
          type: object
          additionalProperties:
            description: Any type
          description: >-
            JSON key-value pairs of field name to field value. Schema is defined
            by your Account Type.
        birthdate:
          type: string
          format: date
          description: Birthdate, must be in the format "YYYY-MM-DD".
        name-first:
          type: string
          description: Given or first name.
        name-middle:
          type: string
          description: Middle name.
        name-last:
          type: string
          description: Family or last name.
        phone-number:
          type: string
          description: Phone number.
        email-address:
          type: string
          description: Email address.
        address-street-1:
          type: string
          description: Street name of residence address.
        address-street-2:
          type: string
          description: Extension of residence address, usually apartment or suite number.
        address-city:
          type: string
          description: >-
            City of residence address. Not all international addresses use this
            attribute.
        address-subdivision:
          type: string
          description: >-
            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:
          type: string
          description: >-
            ZIP or postal code of residence address. Not all international
            addresses use this attribute.
      title: AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributes
    AccountsPostRequestBodyContentApplicationJsonSchemaData:
      type: object
      properties:
        attributes:
          $ref: >-
            #/components/schemas/AccountsPostRequestBodyContentApplicationJsonSchemaDataAttributes
      title: AccountsPostRequestBodyContentApplicationJsonSchemaData
    AccountsPostRequestBodyContentApplicationJsonSchemaMeta:
      type: object
      properties:
        upsert-by:
          type:
            - string
            - 'null'
          description: >-
            The field name to use for upserting the account. This field must be
            unique across all accounts for the given account type.
      title: AccountsPostRequestBodyContentApplicationJsonSchemaMeta
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueFirst:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueFirst
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueMiddle:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueMiddle
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueLast:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueLast
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValue:
      type: object
      properties:
        first:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueFirst
        middle:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueMiddle
        last:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValueLast
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValue
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsName:
      type: object
      properties:
        type:
          type: string
        value:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsNameValue
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsName
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueStreet1:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueStreet1
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueStreet2:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueStreet2
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueSubdivision:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueSubdivision
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueCity:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueCity
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValuePostalCode:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValuePostalCode
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueCountryCode:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueCountryCode
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValue:
      type: object
      properties:
        street_1:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueStreet1
        street_2:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueStreet2
        subdivision:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueSubdivision
        city:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueCity
        postal_code:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValuePostalCode
        country_code:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValueCountryCode
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValue
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddress:
      type: object
      properties:
        type:
          type: string
        value:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddressValue
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddress
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIdentificationClass:
      type: object
      properties:
        type:
          type: string
        value:
          type: string
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIdentificationClass
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIdentificationNumber:
      type: object
      properties:
        type:
          type: string
        value:
          type: string
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIdentificationNumber
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIssuingCountry:
      type: object
      properties:
        type:
          type: string
        value:
          type: string
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIssuingCountry
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueHashedIdentificationNumber:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      description: >-
        A SHA-256 hash of the identification number, keyed on organization,
        country code, identification class, and issuing subdivision. Stable
        across re-verifications of the same document for the same organization.
        Null when the identification number has not been hashed.
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueHashedIdentificationNumber
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValue:
      type: object
      properties:
        identification_class:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIdentificationClass
        identification_number:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIdentificationNumber
        issuing_country:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueIssuingCountry
        hashed_identification_number:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValueHashedIdentificationNumber
          description: >-
            A SHA-256 hash of the identification number, keyed on organization,
            country code, identification class, and issuing subdivision. Stable
            across re-verifications of the same document for the same
            organization. Null when the identification number has not been
            hashed.
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValue
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItems:
      type: object
      properties:
        type:
          type: string
        value:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItemsValue
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItems
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbers:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            $ref: >-
              #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbersValueItems
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbers
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsBirthdate:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsBirthdate
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsPhoneNumber:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsPhoneNumber
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsEmailAddress:
      type: object
      properties:
        type:
          type: string
        value:
          type:
            - string
            - 'null'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsEmailAddress
    File:
      type: object
      properties:
        filename:
          type: string
        url:
          type: string
        byte-size:
          type: integer
      title: File
    file:
      oneOf:
        - $ref: '#/components/schemas/File'
        - type: 'null'
      title: file
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsSelfiePhoto:
      type: object
      properties:
        type:
          type: string
          enum:
            - file
        value:
          $ref: '#/components/schemas/file'
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsSelfiePhoto
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFields:
      type: object
      properties:
        name:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsName
        address:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsAddress
        identification_numbers:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsIdentificationNumbers
        birthdate:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsBirthdate
        phone_number:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsPhoneNumber
        email_address:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsEmailAddress
        selfie_photo:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFieldsSelfiePhoto
      description: >-
        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.
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFields
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributes:
      type: object
      properties:
        reference-id:
          type:
            - string
            - 'null'
        account-type-name:
          type: string
        created-at:
          type: string
          format: date-time
        updated-at:
          type: string
          format: date-time
        redacted-at:
          type:
            - string
            - 'null'
          format: date-time
        fields:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributesFields
          description: >-
            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.
        tags:
          type: array
          items:
            type: string
        account-status:
          type: string
      title: VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributes
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationshipsAccountTypeData:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - account-type
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationshipsAccountTypeData
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationshipsAccountType:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationshipsAccountTypeData
      title: >-
        VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationshipsAccountType
    VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationships:
      type: object
      properties:
        account-type:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationshipsAccountType
      title: VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationships
    account:
      type: object
      properties:
        id:
          type: string
        attributes:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountAttributes
        relationships:
          $ref: >-
            #/components/schemas/VerificationIncludedObjectsItemsDiscriminatorMappingAccountRelationships
      description: |-
        An Account object.

        Note that `fields` is **not** key inflected.
      title: account
    FieldSchemaArrayConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        item-schema:
          $ref: '#/components/schemas/field-schema'
      title: FieldSchemaArrayConfig
    FieldSchemaBooleanConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
      title: FieldSchemaBooleanConfig
    FieldSchemaChoicesConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        allow-empty:
          type: boolean
          default: false
        options:
          type: array
          items:
            type: string
        option-labels:
          type: array
          items:
            type: string
          description: Display labels for each value in `options`, in the same order.
      title: FieldSchemaChoicesConfig
    FieldSchemaDateConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        min-date:
          type:
            - string
            - 'null'
          format: date
        max-date:
          type:
            - string
            - 'null'
          format: date
      title: FieldSchemaDateConfig
    FieldSchemaDatetimeConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
      title: FieldSchemaDatetimeConfig
    FieldSchemaEmailAddressConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
      title: FieldSchemaEmailAddressConfig
    FieldSchemaFileConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        max-file-size-bytes:
          type: integer
          default: 10000000
        min-file-size-bytes:
          type: integer
          default: 1
        supported-mime-types:
          type: array
          items:
            type: string
        page-count-limit-enabled:
          type: boolean
          default: false
          description: Whether the document page-count limits are enforced.
        page-count-min:
          type:
            - integer
            - 'null'
          description: Minimum allowed page count when `page-count-limit-enabled` is true.
        page-count-max:
          type:
            - integer
            - 'null'
          description: Maximum allowed page count when `page-count-limit-enabled` is true.
      title: FieldSchemaFileConfig
    FieldSchemaHashConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        ignore-unknown-keys:
          type: boolean
          default: false
        item-schemas:
          type: array
          items:
            $ref: '#/components/schemas/field-schema'
      title: FieldSchemaHashConfig
    FieldSchemaIntegerConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        min:
          type: number
          format: double
        max:
          type: number
          format: double
      title: FieldSchemaIntegerConfig
    FieldSchemaJsonConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        json-schema:
          type: object
          additionalProperties:
            description: Any type
          description: >-
            A JSON Schema document (Draft 7 syntax) describing the shape of
            values

            stored in this field. Synthesized server-side by some verification

            types (e.g. `government-id` writes a map of national identification

            numbers); the schema is informational and may evolve without a

            versioned update.
      title: FieldSchemaJsonConfig
    FieldSchemaMultiChoicesConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        allow-empty:
          type: boolean
          default: false
        options:
          type: array
          items:
            type: string
        option-labels:
          type: array
          items:
            type: string
          description: Display labels for each value in `options`, in the same order.
      title: FieldSchemaMultiChoicesConfig
    FieldSchemaNumberConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        min:
          type: number
          format: double
        max:
          type: number
          format: double
      title: FieldSchemaNumberConfig
    FieldSchemaStringConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        max-char-length:
          type: integer
          default: 255
        sanitize:
          type: array
          items:
            type: string
      title: FieldSchemaStringConfig
    FieldSchemaRelationConfig:
      type: object
      properties:
        required:
          type: boolean
        archived-at:
          type:
            - string
            - 'null'
          format: date-time
        deactivated-at:
          type:
            - string
            - 'null'
          format: date-time
        source-key-path:
          type:
            - string
            - 'null'
          description: >-
            When the field schema is an alias, the dotted key path of the source
            field; absent for non-alias schemas.
        redaction-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be redacted on request.


            Possible values:

            - `none` — value is redactable

            - `never` — value is never redacted


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        write-policy:
          type: string
          default: none
          description: >-
            Whether the field's value may be overwritten after it is first set.


            Possible values:

            - `none` — value may be overwritten on subsequent writes

            - `write_once` — subsequent writes are rejected once a value is set


            Do not assume this is a static enumeration; Persona may add new
            values in

            the future without a versioned update.
        target:
          type: string
          description: >-
            Customer-facing identifier for the specific Relation subtype this
            field points to — `document-generic`, `document-government-id`,
            `document-government-id-nfc`, `document-mdoc`, `document-qr-code`,
            or `selfie`. Use this on a future write API to specify which
            relation kind to create.
      title: FieldSchemaRelationConfig
    field-schema:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - array
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            config:
              $ref: '#/components/schemas/FieldSchemaArrayConfig'
          required:
            - type
          description: array variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - boolean
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - boolean
                - 'null'
            config:
              $ref: '#/components/schemas/FieldSchemaBooleanConfig'
          required:
            - type
          description: boolean variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - choices
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - string
                - 'null'
              description: Must be one of the values in `config.options`, or null.
            config:
              $ref: '#/components/schemas/FieldSchemaChoicesConfig'
          required:
            - type
          description: choices variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - date
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - string
                - 'null'
              format: date
            config:
              $ref: '#/components/schemas/FieldSchemaDateConfig'
          required:
            - type
          description: date variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - datetime
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - string
                - 'null'
              format: date-time
            config:
              $ref: '#/components/schemas/FieldSchemaDatetimeConfig'
          required:
            - type
          description: datetime variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - email-address
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - string
                - 'null'
            config:
              $ref: '#/components/schemas/FieldSchemaEmailAddressConfig'
          required:
            - type
          description: email-address variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - file
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            config:
              $ref: '#/components/schemas/FieldSchemaFileConfig'
          required:
            - type
          description: file variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - hash
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            config:
              $ref: '#/components/schemas/FieldSchemaHashConfig'
          required:
            - type
          description: hash variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - integer
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - integer
                - 'null'
            config:
              $ref: '#/components/schemas/FieldSchemaIntegerConfig'
          required:
            - type
          description: integer variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - json
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              description: >-
                JSON-typed fields don't expose a default-value through this API
                (the

                stored value is a free-form JSON document; the default is
                `null`).
            config:
              $ref: '#/components/schemas/FieldSchemaJsonConfig'
          required:
            - type
          description: json variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - multi-choices
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - array
                - 'null'
              items:
                type: string
              description: Each entry must be one of the values in `config.options`.
            config:
              $ref: '#/components/schemas/FieldSchemaMultiChoicesConfig'
          required:
            - type
          description: multi-choices variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - number
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - number
                - 'null'
              format: double
            config:
              $ref: '#/components/schemas/FieldSchemaNumberConfig'
          required:
            - type
          description: number variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - string
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            default-value:
              type:
                - string
                - 'null'
            config:
              $ref: '#/components/schemas/FieldSchemaStringConfig'
          required:
            - type
          description: string variant
        - type: object
          properties:
            type:
              type: string
              enum:
                - relation-schema
            key:
              type: string
            label:
              type:
                - string
                - 'null'
            config:
              $ref: '#/components/schemas/FieldSchemaRelationConfig'
          required:
            - type
          description: relation-schema variant
      discriminator:
        propertyName: type
      title: field-schema
    AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeAttributes:
      type: object
      properties:
        name:
          type: string
        created-at:
          type: string
          format: date-time
        updated-at:
          type:
            - string
            - 'null'
          format: date-time
        field-schemas:
          type: array
          items:
            $ref: '#/components/schemas/field-schema'
      title: AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeAttributes
    AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsAccountStatusesDataItems:
      type: object
      properties:
        type:
          type: string
          enum:
            - account-status
        id:
          type: string
      title: >-
        AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsAccountStatusesDataItems
    AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsAccountStatuses:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsAccountStatusesDataItems
      title: >-
        AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsAccountStatuses
    AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsDefaultAccountStatusData:
      type: object
      properties:
        type:
          type: string
          enum:
            - account-status
        id:
          type: string
      title: >-
        AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsDefaultAccountStatusData
    AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsDefaultAccountStatus:
      type: object
      properties:
        data:
          oneOf:
            - $ref: >-
                #/components/schemas/AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsDefaultAccountStatusData
            - type: 'null'
      title: >-
        AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsDefaultAccountStatus
    AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationships:
      type: object
      properties:
        account-statuses:
          $ref: >-
            #/components/schemas/AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsAccountStatuses
        default-account-status:
          $ref: >-
            #/components/schemas/AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationshipsDefaultAccountStatus
      title: AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationships
    AccountsIncludedObjectsItems:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - account-type
              description: 'Discriminator value: account-type'
            id:
              type: string
            attributes:
              $ref: >-
                #/components/schemas/AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeAttributes
            relationships:
              $ref: >-
                #/components/schemas/AccountsIncludedObjectsItemsDiscriminatorMappingAccountTypeRelationships
          required:
            - type
          description: account-type variant
      discriminator:
        propertyName: type
      title: AccountsIncludedObjectsItems
    accounts-included-objects:
      type: array
      items:
        $ref: '#/components/schemas/AccountsIncludedObjectsItems'
      title: accounts-included-objects
    Accounts_create-an-account_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/account'
        included:
          $ref: '#/components/schemas/accounts-included-objects'
          description: >-
            Objects that _may_ be returned if specified via the `include` query
            parameter in the request.
      required:
        - data
      title: Accounts_create-an-account_Response_200
    AccountsPostResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        title:
          type: string
        details:
          type: string
      title: AccountsPostResponsesContentApplicationJsonSchemaErrorsItems
    Create-an-accountRequestBadRequestError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrorsItems
      title: Create-an-accountRequestBadRequestError
    Create-an-accountRequestUnauthorizedError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrorsItems
      title: Create-an-accountRequestUnauthorizedError
    Create-an-accountRequestForbiddenError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrorsItems
      title: Create-an-accountRequestForbiddenError
    Create-an-accountRequestConflictError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrorsItems
      title: Create-an-accountRequestConflictError
    Create-an-accountRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrorsItems
      title: Create-an-accountRequestUnprocessableEntityError
    Create-an-accountRequestTooManyRequestsError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrorsItems
      title: Create-an-accountRequestTooManyRequestsError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

```

## Examples

### Success



**Request**

```json
{}
```

**Response**

```json
{
  "data": {
    "id": "act_hpNqyAbEG4HeVjZoBRNCMKkA",
    "attributes": {
      "reference-id": "abc-123",
      "account-type-name": "User",
      "created-at": "2023-09-22T17:13:49.000Z",
      "updated-at": "2023-09-23T00:22:19.000Z",
      "fields": {
        "name": {
          "type": "hash",
          "value": {
            "first": {
              "type": "string",
              "value": "Jane"
            },
            "middle": {
              "type": "string",
              "value": "Marie"
            },
            "last": {
              "type": "string",
              "value": "Doe"
            }
          }
        },
        "address": {
          "type": "hash",
          "value": {
            "street_1": {
              "type": "string",
              "value": "123 Main St"
            },
            "street_2": {
              "type": "string"
            },
            "subdivision": {
              "type": "string",
              "value": "California"
            },
            "city": {
              "type": "string",
              "value": "San Francisco"
            },
            "postal_code": {
              "type": "string",
              "value": "94111"
            },
            "country_code": {
              "type": "string",
              "value": "US"
            }
          }
        },
        "identification_numbers": {
          "type": "array",
          "value": [
            {
              "type": "hash",
              "value": {
                "identification_class": {
                  "type": "string",
                  "value": "visa"
                },
                "identification_number": {
                  "type": "string",
                  "value": "12345678"
                },
                "issuing_country": {
                  "type": "string",
                  "value": "US"
                }
              }
            },
            {
              "type": "hash",
              "value": {
                "identification_class": {
                  "type": "string",
                  "value": "visa"
                },
                "identification_number": {
                  "type": "string",
                  "value": "87654321"
                },
                "issuing_country": {
                  "type": "string",
                  "value": "UK"
                }
              }
            },
            {
              "type": "hash",
              "value": {
                "identification_class": {
                  "type": "string",
                  "value": "cct"
                },
                "identification_number": {
                  "type": "string",
                  "value": "A12345678"
                },
                "issuing_country": {
                  "type": "string",
                  "value": "AF"
                }
              }
            }
          ]
        },
        "birthdate": {
          "type": "date",
          "value": "1994-12-30"
        },
        "phone_number": {
          "type": "string",
          "value": "111-222-3333"
        },
        "email_address": {
          "type": "string",
          "value": "jane@doe.com"
        },
        "selfie_photo": {
          "type": "file"
        }
      },
      "tags": [
        "tag1",
        "tag2"
      ]
    },
    "relationships": {
      "account-type": {
        "data": {
          "id": "acttp_7X5W5w9GMtQntE6oPtKnj44c",
          "type": "account-type"
        }
      }
    },
    "type": "account"
  }
}
```

**SDK Code**

```python Success
import requests

url = "https://api.withpersona.com/api/v1/accounts"

payload = {}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Success
const url = 'https://api.withpersona.com/api/v1/accounts';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Success
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.withpersona.com/api/v1/accounts"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Success
require 'uri'
require 'net/http'

url = URI("https://api.withpersona.com/api/v1/accounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
```

```java Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.withpersona.com/api/v1/accounts")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

```php Success
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.withpersona.com/api/v1/accounts', [
  'body' => '{}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Success
using RestSharp;

var client = new RestClient("https://api.withpersona.com/api/v1/accounts");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Success
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.withpersona.com/api/v1/accounts")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Created



**Request**

```json
{}
```

**Response**

```json
{
  "data": {
    "id": "act_hpNqyAbEG4HeVjZoBRNCMKkA",
    "attributes": {
      "reference-id": "abc-123",
      "account-type-name": "User",
      "created-at": "2023-09-22T17:13:49.000Z",
      "updated-at": "2023-09-23T00:22:19.000Z",
      "fields": {
        "name": {
          "type": "hash",
          "value": {
            "first": {
              "type": "string",
              "value": "Jane"
            },
            "middle": {
              "type": "string",
              "value": "Marie"
            },
            "last": {
              "type": "string",
              "value": "Doe"
            }
          }
        },
        "address": {
          "type": "hash",
          "value": {
            "street_1": {
              "type": "string",
              "value": "123 Main St"
            },
            "street_2": {
              "type": "string"
            },
            "subdivision": {
              "type": "string",
              "value": "California"
            },
            "city": {
              "type": "string",
              "value": "San Francisco"
            },
            "postal_code": {
              "type": "string",
              "value": "94111"
            },
            "country_code": {
              "type": "string",
              "value": "US"
            }
          }
        },
        "identification_numbers": {
          "type": "array",
          "value": [
            {
              "type": "hash",
              "value": {
                "identification_class": {
                  "type": "string",
                  "value": "visa"
                },
                "identification_number": {
                  "type": "string",
                  "value": "12345678"
                },
                "issuing_country": {
                  "type": "string",
                  "value": "US"
                }
              }
            },
            {
              "type": "hash",
              "value": {
                "identification_class": {
                  "type": "string",
                  "value": "visa"
                },
                "identification_number": {
                  "type": "string",
                  "value": "87654321"
                },
                "issuing_country": {
                  "type": "string",
                  "value": "UK"
                }
              }
            },
            {
              "type": "hash",
              "value": {
                "identification_class": {
                  "type": "string",
                  "value": "cct"
                },
                "identification_number": {
                  "type": "string",
                  "value": "A12345678"
                },
                "issuing_country": {
                  "type": "string",
                  "value": "AF"
                }
              }
            }
          ]
        },
        "birthdate": {
          "type": "date",
          "value": "1994-12-30"
        },
        "phone_number": {
          "type": "string",
          "value": "111-222-3333"
        },
        "email_address": {
          "type": "string",
          "value": "jane@doe.com"
        },
        "selfie_photo": {
          "type": "file"
        }
      },
      "tags": [
        "tag1",
        "tag2"
      ]
    },
    "relationships": {
      "account-type": {
        "data": {
          "id": "acttp_7X5W5w9GMtQntE6oPtKnj44c",
          "type": "account-type"
        }
      }
    },
    "type": "account"
  }
}
```

**SDK Code**

```python Created
import requests

url = "https://api.withpersona.com/api/v1/accounts"

payload = {}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Created
const url = 'https://api.withpersona.com/api/v1/accounts';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Created
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.withpersona.com/api/v1/accounts"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Created
require 'uri'
require 'net/http'

url = URI("https://api.withpersona.com/api/v1/accounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
```

```java Created
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.withpersona.com/api/v1/accounts")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

```php Created
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.withpersona.com/api/v1/accounts', [
  'body' => '{}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Created
using RestSharp;

var client = new RestClient("https://api.withpersona.com/api/v1/accounts");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Created
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.withpersona.com/api/v1/accounts")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```