---
title: "Create associated person"
method: POST
path: "/core/kyb/associated-persons"
tags: ["KYB"]
---

# Create associated person

`POST /core/kyb/associated-persons`

## Request

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

Create a new associated person for a business user.

## Headers

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

## Request body

- union
  - object
    - `type` 'beneficial-owner', required
    - `fullName` string: The full legal name.
    - `role` string: The person's role in the business (e.g., CFO, CEO).
    - `address` object: The person's address of residency.
      - `country` string: The country of the address.
      - `subdivision` string: The subdivision of the address.
      - `city` string: The city of the address.
      - `line1` string: The first line of the address.
      - `line2` string: The second line of the address.
      - `postalCode` string: The postal code of the address.
    - `birthdate` string, date: The date of birth.
    - `birthplace` object: The place of birth.
      - `town` string: The town of birth.
      - `country` string: The country of birth.
    - `legalIds` object[]: The legal identifiers.
      - `type` 'tax-id', required: The type of legal ID.
      - `id` string, required: The legal ID value.
      - `country` string, required: The country that issued the legal ID.
    - `ownershipPercentage` number: The ownership percentage for this beneficial owner.
  - CreateKybAssociatedPersonBase
    - `fullName` string: The full legal name.
    - `role` string: The person's role in the business (e.g., CFO, CEO).
    - `address` object: The person's address of residency.
      - `country` string: The country of the address.
      - `subdivision` string: The subdivision of the address.
      - `city` string: The city of the address.
      - `line1` string: The first line of the address.
      - `line2` string: The second line of the address.
      - `postalCode` string: The postal code of the address.
    - `birthdate` string, date: The date of birth.
    - `birthplace` object: The place of birth.
      - `town` string: The town of birth.
      - `country` string: The country of birth.
    - `legalIds` object[]: The legal identifiers.
      - `type` 'tax-id', required: The type of legal ID.
      - `id` string, required: The legal ID value.
      - `country` string, required: The country that issued the legal ID.
  - object
    - `type` 'beneficial-owner-and-authorized-signer', required
    - `fullName` string: The full legal name.
    - `role` string: The person's role in the business (e.g., CFO, CEO).
    - `address` object: The person's address of residency.
      - `country` string: The country of the address.
      - `subdivision` string: The subdivision of the address.
      - `city` string: The city of the address.
      - `line1` string: The first line of the address.
      - `line2` string: The second line of the address.
      - `postalCode` string: The postal code of the address.
    - `birthdate` string, date: The date of birth.
    - `birthplace` object: The place of birth.
      - `town` string: The town of birth.
      - `country` string: The country of birth.
    - `legalIds` object[]: The legal identifiers.
      - `type` 'tax-id', required: The type of legal ID.
      - `id` string, required: The legal ID value.
      - `country` string, required: The country that issued the legal ID.
    - `ownershipPercentage` number: The ownership percentage for this beneficial owner.

## Response `201`

Associated person created successfully.

- object
  - `associatedPerson` KybAssociatedPerson, required
    - `id` string, uuid, required: The unique identifier for the associated person.
    - `processes` KybAssociatedPersonProcesses, required: The processes for an associated person.
      - `profile` KybAssociatedPersonProfile, required: The profile process for an associated person.
        - `code` 'profile', required: The code of the KYB process.
        - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYB process.
        - `input` union
          - object: Request to create a beneficial owner.
            - `fullName` string: The full name of the associated person.
            - `role` string: The role of the associated person in the business (e.g., CFO, CEO).
            - `address` object: The address of the associated person.
              - …
            - `birthdate` string, date: The birthdate of the associated person.
            - `birthplace` object: The place of birth of the associated person.
              - …
            - `legalIds` object[]: The legal identifiers of the associated person.
              - …
            - `type` 'beneficial-owner', required
            - `ownershipPercentage` number: The ownership percentage for this beneficial owner.
          - object: Request to create an authorized signer.
            - `fullName` string: The full name of the associated person.
            - `role` string: The role of the associated person in the business (e.g., CFO, CEO).
            - `address` object: The address of the associated person.
              - …
            - `birthdate` string, date: The birthdate of the associated person.
            - `birthplace` object: The place of birth of the associated person.
              - …
            - `legalIds` object[]: The legal identifiers of the associated person.
              - …
            - `type` 'authorized-signer', required
          - object: Request to create a beneficial owner and authorized signer.
            - `fullName` string: The full name of the associated person.
            - `role` string: The role of the associated person in the business (e.g., CFO, CEO).
            - `address` object: The address of the associated person.
              - …
            - `birthdate` string, date: The birthdate of the associated person.
            - `birthplace` object: The place of birth of the associated person.
              - …
            - `legalIds` object[]: The legal identifiers of the associated person.
              - …
            - `type` 'beneficial-owner-and-authorized-signer', required
            - `ownershipPercentage` number: The ownership percentage for this beneficial owner.
      - `identity` union, required
        - object: The identity process for an associated person.
          - `code` 'identity', required: The code of the KYB process.
          - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYB process.
          - `type` 'none', required: The identity submission type.
        - object: The identity process for an associated person.
          - `code` 'identity', required: The code of the KYB process.
          - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYB process.
          - `type` 'document-submission', required: The identity submission type.
          - `input` object: Input of the KYB process.
            - `media` object[]: The media that was used to verify the identity.
              - …
          - `output` object: Output of the KYB process.
            - `provider` string, required: The provider used to verify the KYB process.
            - `reason` 'data-mismatch' | 'document-expired' | 'document-not-readable' | 'duplicate' | 'missing-declared-information' | 'underage' | 'timeout' | 'unknown': The reason associated with the verification.
            - `document` object: The identity document information.
              - …
            - `person` object: The person information.
              - …
            - `verifiedAt` string, date-time: The date and time of the verification.
      - `proofOfAddress` union, required
        - object: The proof-of-address process for an associated person.
          - `code` 'proof-of-address', required: The code of the KYB process.
          - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYB process.
          - `type` 'none', required: The proof-of-address submission type.
        - object: The proof-of-address process for an associated person.
          - `code` 'proof-of-address', required: The code of the KYB process.
          - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYB process.
          - `type` 'document-submission', required: The proof-of-address submission type.
          - `input` object: Input of the KYB process.
            - `media` object[]: The media that was used to verify the address.
              - …
          - `output` object: Output of the KYB process.
            - `provider` string, required: The provider used to verify the KYB process.
            - `reason` 'address-mismatch' | 'name-mismatch': The reason associated with the verification.
            - `person` object, required: The person information.
              - …
            - `verifiedAt` string, date-time, required: The date and time of the verification.
    - `createdAt` string, date-time, required: The date and time when the associated person was created.

## Other responses

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

---

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