---
title: "Create Onboarding"
method: POST
path: "/recipients/{recipient_id}/onboardings"
---

# Create Onboarding

`POST /recipients/{recipient_id}/onboardings`

## Request

- Base URL: `https://api-sandbox.y.uno/v1`
- URL: `https://api-sandbox.y.uno/v1/recipients/{recipient_id}/onboardings`
- Auth: API key in header `PUBLIC-API-KEY` and API key in header `PRIVATE-SECRET-KEY`
- TypeScript: <https://skmtc.dev/y/apis/ai-caller/docs/recipients/:recipient_id/onboardings/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `recipient_id` string, required

## Request body

- object
  - `account_id` string, required: Unique id of the account in Yuno
  - `type` 'PREVIOUSLY_ONBOARDED' | 'ONE_STEP_ONBOARDING' | 'TWO_STEP_ONBOARDING', required: Type of onboarding flow. PREVIOUSLY_ONBOARDED for pre-existing accounts, ONE_STEP_ONBOARDING for account creation + KYC in one step, TWO_STEP_ONBOARDING for account creation first then KYC later
  - `workflow` 'HOSTED_BY_PROVIDER' | 'DIRECT', required: Workflow of the onboarding
  - `description` string: Optional description of the onboarding (MAX 255; MIN 3).
  - `callback_url` string, uri: URL in case to redirect your customer after the onboarding process with the provider, if needed.
  - `provider` object, required
    - `id` string, required: Provider id
    - `connection_id` string, required: Id of the connection in Yuno
    - `recipient_id` string: The unique identifier of the provider's recipient.
    - `recipient_type` 'MEAL' | 'FOOD' | 'MULTI_BENEFITS' | 'FLEET': The type of recipient for the provider.
  - `documentation` object[]: Specifies the documentation object.
    - `file_name` string, required: The name of the documentation sent (MAX 255; MIN 3).
    - `content_type` 'application/pdf' | 'image/jpeg' | 'image/png', required: The type of the documentation sent by the merchant
    - `content_category` 'ACCOUNT_REQUIREMENT' | 'BANK_STATEMENT' | 'BUSINESS_ICON' | 'BUSINESS_LOGO' | 'CANCEL_POLICY' | 'CUSTOMER_INTERACTION' | 'DRIVERS_LICENCE' | 'IDENTIFICATION_DOCUMENT' | 'IDENTIFICATION_DOCUMENT_BACK' | 'IDENTIFICATION_DOCUMENT_FRONT' | 'LEGAL_AGREEMENT' | 'OTHERS' | 'PASSPORT' | 'PAYMENT_DETAIL' | 'PROOF_OF_ADDRESS' | 'PROOF_OF_AUTHENTICITY' | 'PROOF_OF_DELIVERY' | 'PROOF_OF_DIRECTOR' | 'PROOF_OF_INDUSTRY' | 'PROOF_OF_NATIONAL_ID_NUMBER' | 'PROOF_OF_OWNERSHIP' | 'PROOF_OF_REGISTRATION' | 'PROOF_OF_RELATIONSHIP' | 'PROOF_OF_SERVICE' | 'PROOF_OF_SOURCE_OF_FUNDS' | 'PROOF_OF_SOURCE_OF_WEALTH' | 'PROOF_OF_TAX' | 'PROVIDER_IDENTITY_DOCUMENT' | 'RECEIPT' | 'REFUND_POLICY' | 'SELFIE' | 'SERVICE_AGREEMENT' | 'SIGNATURE' | 'TERMS_AND_CONDITIONS' | 'VAT_DOCUMENT', required: The category of the documentation sent by the merchant
    - `content` string, byte, required: The content of the documentation sent by the merchant encoded in base64. Max size: 2MB.
  - `withdrawal_methods` object: Specifies the withdrawal methods object.
    - `bank` object: struct
      - `code` string: Bank´s code (MAX 3; MIN 3)
      - `branch` string: Bank´s branch (MAX 3; MIN 3)
      - `branch_digit` string: Bank´s branch digit (MAX 3; MIN 3)
      - `account` string: Beneficiary's bank account number (MAX 3; MIN 250)
      - `account_digit` string: Beneficiary's bank account digit (MAX 3; MIN 250)
      - `account_type` 'CHECKINGS' | 'SAVINGS': Beneficiary's bank account type. Allowed values: CHECKINGS, SAVINGS.
      - `routing` string: Beneficiary's bank account routing number
      - `country` string: The bank account's country (ISO 3166-1 MAX 2; MIN 2)
      - `currency` string: The bank account's currency (ISO 3166-1 MAX 3; MIN 3)
  - `legal_representatives` object[]: Object to indicate the owners of the organization. Adyen, Stripe and dlocal have fields related to that.
    - `merchant_reference` string: Legal representative's identification id (MAX 255; MIN 3).
    - `first_name` string: Legal representative's name. (MAX 255; MIN 1).
    - `last_name` string: Legal representative's last name. (MAX 255; MIN 1).
    - `email` string, email: The Legal representative's email (MAX 255; MIN 1).
    - `date_of_birth` string, date: The Legal representative's date of birth in the YYYY-MM-DD format (MAX 10; MIN 10).
    - `country` string: The Legal representative's country (ISO 3166-1 MAX 2; MIN 2)
    - `nationality` string: The Legal representative's nationality (MAX 2; MIN 2; ISO 3166-1).
    - `title` string: The title of the legal representative (MAX 255; MIN 1).
    - `publicly_exposed_person` boolean: Indicates if the legal representative is a publicly exposed person
    - `ultimate_beneficial_owner` boolean: Indicates if the legal representative is an ultimate beneficiary owner of the company
  - `terms_of_service` object: Object describing terms of service.
    - `acceptance` boolean, required: If the terms of service were accepted by the recipient
    - `date` string, date-time, required: Date of the terms of service acceptance
    - `ip` string, ipv4: IP of the terms of service acceptance

## Response `201`

Created

- RecipientResponse
  - `id` string: The unique identifier of the recipient.
  - `account_id` string: The account identifier associated with this recipient.
  - `merchant_recipient_id` string: Unique identifier of the recipient defined by the merchant.
  - `national_entity` string: Beneficiary's national entity type.
  - `entity_type` string: Beneficiary's type of organization.
  - `first_name` string: Beneficiary's name.
  - `last_name` string: Beneficiary's last name.
  - `legal_name` unknown
  - `email` string: The Beneficiary's email.
  - `date_of_birth` string: Beneficiary's date of birth.
  - `country` string: The Beneficiary's country.
  - `website` string: The seller's website URL.
  - `industry` string: The seller's industry.
  - `merchant_category_code` string: The merchant category code (MCC) (MAX 235; MIN 1).
  - `document` object
    - `document_number` string
    - `document_type` string
  - `phone` object
    - `country_code` string
    - `number` string
  - `address` object
    - `address_line_1` string
    - `address_line_2` string
    - `city` string
    - `country` string
    - `state` string
    - `zip_code` string
    - `neighborhood` string
  - `legal_representatives` object[]
    - `merchant_reference` string
    - `first_name` string
    - `last_name` string
    - `email` string
    - `date_of_birth` string
    - `country` string
    - `nationality` string
    - `title` string
    - `publicly_exposed_person` boolean
    - `ultimate_beneficial_owner` boolean
    - `document` object
      - `document_type` string
      - `document_number` string
    - `phone` object
      - `country_code` string
      - `number` string
    - `address` object
      - `address_line_1` string
      - `address_line_2` unknown
      - `country` string
      - `state` string
      - `city` string
      - `zip_code` string
  - `withdrawal_methods` object
    - `bank` object
      - `code` string
      - `branch` string
      - `branch_digit` string
      - `account` string
      - `account_digit` string
      - `account_type` string
      - `routing` string
      - `country` string
      - `currency` string
  - `documentation` object[]
    - `file_name` string
    - `content_type` string
    - `content_category` string
    - `content` string
  - `onboardings` object[]
    - `id` string
    - `type` string
    - `workflow` string
    - `status` string
    - `callback_url` string
    - `provider` object
      - `id` string
      - `connection_id` string
      - `recipient_id` unknown
      - `redirect_url` unknown
      - `onboarding_url` unknown
      - `legal_entity` unknown
      - `balance_account_id` unknown
      - `legal_entity_id` unknown
    - `documentation` object[]
      - `file_name` string
      - `content_type` string
      - `content_category` string
      - `content` string
    - `legal_representatives` object[]
    - `requirements` object[]
      - `field` string
      - `message` string
      - `status` string
    - `withdrawal_methods` object
      - `bank` object
        - `code` string
        - `branch` string
        - `branch_digit` unknown
        - `account` string
        - `account_digit` unknown
        - `account_type` string
        - `routing` string
        - `country` string
        - `currency` string
    - `terms_of_service` object
      - `acceptance` boolean
      - `date` string
      - `ip` string
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `split_configuration` object: Rules for automatic split calculation at the recipient level.
    - `calculation_type` 'PERCENTAGE' | 'FIXED' | 'MIXED': The method used to calculate the split amount.
    - `percentage` number: Percentage of the total payment amount to be split (0.01-100.00). Required if calculation_type is PERCENTAGE or MIXED.
    - `fixed_amount` number: Fixed amount to be split. Required if calculation_type is FIXED or MIXED.
    - `currency` string: ISO 4217 currency code. Required for all calculation types.
    - `rounding_mode` 'STANDARD' | 'ROUND_UP' | 'ROUND_DOWN': The rounding strategy for calculated amounts. Required for PERCENTAGE and MIXED.
  - `created_at` string, date-time: Recipient creation date (ISO 8601 MAX 27; MIN 27).
  - `updated_at` string, date-time: Last Recipient updated date (ISO 8601 MAX 27; MIN 27).

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/y/apis/ai-caller.md) - [All operations](https://skmtc.dev/y/apis/ai-caller/llms.txt) - [OpenAPI document](https://skmtc.dev/y/apis/ai-caller/revisions/05b629819b49?raw)
