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

# Country-specific details

> Additional details for creating recipients for each country

When creating recipients for cross-border transfers, the required fields vary by destination country. This guide provides detailed information about the recipient and financial account requirements for each supported country.

Recipients are created with `POST /v1/individuals`. The product you are using is declared with `product_types`: `global_payouts` for fiat payouts, and `on_ramp` and/or `off_ramp` for the ramp products.

## Overview

All recipients require these base fields:

| Field                 | Type   | Required | Description                                                                                           |
| --------------------- | ------ | :------: | ----------------------------------------------------------------------------------------------------- |
| `given_name`          | string |     ✓    | Recipient's first name (max 50 characters)                                                            |
| `family_name`         | string |     ✓    | Recipient's last name (max 50 characters)                                                             |
| `country`             | string |     ✓    | ISO 3166-1 alpha-2 country code for the recipient                                                     |
| `product_types`       | array  |     ✓    | One or more of `global_payouts`, `on_ramp`, `off_ramp`                                                |
| `address`             | object |     ✓    | Address information                                                                                   |
| `address.line_1`      | string |     ✓    | Street address line 1 (max 200 characters)                                                            |
| `address.line_2`      | string |          | Street address line 2                                                                                 |
| `address.city`        | string |     ✓    | City                                                                                                  |
| `address.state`       | string |     ✓    | State or province                                                                                     |
| `address.postal_code` | string |     ✓    | Postal code                                                                                           |
| `financial_accounts`  | array  |     ✓    | Financial accounts for the recipient. For `global_payouts` this must contain **exactly one** account. |
| `email`               | string |          | Recipient's email address (max 100 characters; required for some countries)                           |
| `phone`               | string |          | Recipient's phone number with country code (max 20 characters; required for some countries)           |
| `document`            | object |          | Identity document (required for some countries)                                                       |
| `date_of_birth`       | string |          | Recipient's date of birth in `YYYY-MM-DD` format                                                      |

Fields with no value are omitted from responses rather than returned as `null`. Responses echo `country` inside `address` as well as at the top level.

Providing `date_of_birth` is optional but strongly recommended: it materially improves the accuracy of compliance screening and reduces the chance of a false-positive match delaying a payout.

---

## Additional requirements for on-ramp and off-ramp

When you create an individual with `product_types` containing `on_ramp` and/or `off_ramp`, the country-specific fields below still apply, but the following fields are also required for every country:

| Field                     | Type   | Description                                                                                                                                                                                |
| ------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `email`                   | string | Recipient's email address                                                                                                                                                                  |
| `phone`                   | string | Recipient's phone number with country code                                                                                                                                                 |
| `date_of_birth`           | string | Date of birth in `YYYY-MM-DD` format                                                                                                                                                       |
| `idv_consent_recorded_at` | string | ISO 8601 timestamp when the end user accepted identity verification consent. Not required for the United Arab Emirates (AE)                                                                |
| `document`                | object | Identity document. Always required for on-ramp and off-ramp, including for countries where the section below marks it optional. The accepted `document.type` is determined by the country. |

For off-ramp (and combined on-ramp + off-ramp), `financial_accounts` should also contain a fiat destination (matching the destination country's shape — see below) **and** a `crypto_wallet` on the network the end user will off-ramp from. Off-ramp transfer creation is rejected if the individual has no `crypto_wallet` on the quote's `source_network`. The wallet is also where Latitude returns stablecoins if a transfer cannot be completed.

Accounts can be supplied at creation or added later with `POST /v1/financial_accounts`. A `crypto_wallet` cannot be updated in place — its address is baked into the individual's on-chain forwarding policies — so register a new one instead of editing it.

For supported on-ramp and off-ramp corridors and their availability (Live, Beta), see [On-Ramps and Off-Ramps](/products/on-ramps-and-off-ramps).

---

## Argentina (AR)

Send transfers to Argentina in ARS via bank account using CBU/CVU.

### Required Fields

| Field Path                                    | Type   | Required | Description                        |
| --------------------------------------------- | ------ | :------: | ---------------------------------- |
| `document.number`                             | string |     ✓    | Document identification number     |
| `document.type`                               | string |     ✓    | Document type: `cuit` or `cuil`    |
| `financial_accounts[].type`                   | string |     ✓    | Must be `bank_account`             |
| `financial_accounts[].details.account_number` | string |     ✓    | 22-digit CBU or CVU account number |
| `financial_accounts[].details.account_type`   | string |     ✓    | Account type: `cbu` or `cvu`       |

### Document Types

* `cuit` — Clave Única de Identificación Tributaria (Tax ID for businesses)
* `cuil` — Código Único de Identificación Laboral (Labor ID for individuals)

### Example Request

#### Global Payouts

`POST /v1/individuals`:

```json
{
  "given_name": "Carlos",
  "family_name": "Mendez",
  "country": "AR",
  "product_types": ["global_payouts"],
  "document": {
    "type": "cuit",
    "number": "20345678901"
  },
  "address": {
    "line_1": "Av. Corrientes 1234",
    "city": "Buenos Aires",
    "state": "Buenos Aires",
    "postal_code": "C1043"
  },
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "account_number": "0170099220000067839043",
        "account_type": "cbu"
      }
    }
  ]
}
```

#### On/Off-Ramp

`POST /v1/individuals`:

```json
{
  "given_name": "Carlos",
  "family_name": "Mendez",
  "country": "AR",
  "product_types": ["off_ramp"],
  "email": "carlos.mendez@example.com",
  "phone": "+541112345678",
  "date_of_birth": "1985-06-15",
  "document": {
    "type": "cuit",
    "number": "20345678901"
  },
  "address": {
    "line_1": "Av. Corrientes 1234",
    "city": "Buenos Aires",
    "state": "Buenos Aires",
    "postal_code": "C1043"
  },
  "idv_consent_recorded_at": "2025-01-30T14:00:00Z",
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "account_number": "0170099220000067839043",
        "account_type": "cbu"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "base"
      }
    }
  ]
}
```

### Validation Notes

* **Account number** must be exactly 22 digits

---

## Brazil (BR)

Send transfers to Brazil in BRL via PIX (instant payment system).

### Required Fields

| Field Path                                  | Type   | Required | Description                                  |
| ------------------------------------------- | ------ | :------: | -------------------------------------------- |
| `document.number`                           | string |     ✓    | Document identification number (CPF or CNPJ) |
| `document.type`                             | string |     ✓    | Document type: `cpf` or `cnpj`               |
| `financial_accounts[].type`                 | string |     ✓    | Must be `pix`                                |
| `financial_accounts[].details.pix_key`      | string |     ✓    | PIX key for the recipient                    |
| `financial_accounts[].details.pix_key_type` | string |     ✓    | Type of PIX key                              |

### Document Types

* `cpf` — Cadastro de Pessoas Físicas (Individual Taxpayer ID, 11 digits)
* `cnpj` — Cadastro Nacional da Pessoa Jurídica (Business Tax ID, 14 digits)

### PIX Key Types

The `pix_key_type` field must match the format of the provided `pix_key`:

| `pix_key_type`   | Description                         | Example                                |
| ---------------- | ----------------------------------- | -------------------------------------- |
| `email`          | Email address                       | `user@example.com`                     |
| `phone`          | Phone number with country code      | `+5511999998888`                       |
| `tax_id`         | CPF (11 digits) or CNPJ (14 digits) | `12345678901`                          |
| `bank_random_id` | UUID from recipient's bank          | `606effd5-59a9-431e-bc99-32a1ee4dd1f4` |

### Example Request

#### Global Payouts

`POST /v1/individuals`:

```json
{
  "given_name": "João",
  "family_name": "Silva",
  "country": "BR",
  "product_types": ["global_payouts"],
  "document": {
    "type": "cpf",
    "number": "12345678901"
  },
  "address": {
    "line_1": "Rua das Flores 456",
    "city": "São Paulo",
    "state": "SP",
    "postal_code": "01310-100"
  },
  "financial_accounts": [
    {
      "type": "pix",
      "details": {
        "pix_key": "user@example.com",
        "pix_key_type": "email"
      }
    }
  ]
}
```

#### On/Off-Ramp

`POST /v1/individuals`:

```json
{
  "given_name": "João",
  "family_name": "Silva",
  "country": "BR",
  "product_types": ["off_ramp"],
  "email": "joao.silva@example.com",
  "phone": "+5511999998888",
  "date_of_birth": "1985-06-15",
  "document": {
    "type": "cpf",
    "number": "12345678901"
  },
  "address": {
    "line_1": "Rua das Flores 456",
    "city": "São Paulo",
    "state": "SP",
    "postal_code": "01310-100"
  },
  "idv_consent_recorded_at": "2025-01-30T14:00:00Z",
  "financial_accounts": [
    {
      "type": "pix",
      "details": {
        "pix_key": "user@example.com",
        "pix_key_type": "email"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "base"
      }
    }
  ]
}
```

### Validation Notes

* PIX is Brazil's instant payment system and supports 24/7 transfers
* CPF must be exactly 11 digits; CNPJ must be exactly 14 digits

---

## Colombia (CO)

Send transfers to Colombia in COP via ACH.

### Required Fields

| Field Path                                    | Type   | Required | Description                           |
| --------------------------------------------- | ------ | :------: | ------------------------------------- |
| `email`                                       | string |     ✓    | Recipient's email address             |
| `document.number`                             | string |     ✓    | Document identification number        |
| `document.type`                               | string |     ✓    | Document type (see below)             |
| `financial_accounts[].type`                   | string |     ✓    | Must be `bank_account`                |
| `financial_accounts[].details.bank_code`      | string |     ✓    | Colombian bank code                   |
| `financial_accounts[].details.account_number` | string |     ✓    | Bank account number                   |
| `financial_accounts[].details.account_type`   | string |     ✓    | Account type: `checking` or `savings` |

### Document Types

* `cc` — Cédula de Ciudadanía (Citizenship Card)
* `ce` — Cédula de Extranjería (Foreigner ID)
* `nit` — Número de Identificación Tributaria (Tax ID for businesses)
* `pep` — Permiso Especial de Permanencia (Special Residence Permit)
* `passport` — International passport

### Example Request

#### Global Payouts

`POST /v1/individuals`:

```json
{
  "given_name": "Juan",
  "family_name": "Diego",
  "country": "CO",
  "product_types": ["global_payouts"],
  "email": "juan.diego@example.com",
  "document": {
    "type": "cc",
    "number": "1020304050"
  },
  "address": {
    "line_1": "Calle 100 #15-20",
    "city": "Bogotá",
    "state": "Cundinamarca",
    "postal_code": "110111"
  },
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "bank_code": "007",
        "account_number": "1234567890",
        "account_type": "checking"
      }
    }
  ]
}
```

#### On/Off-Ramp

`POST /v1/individuals`:

```json
{
  "given_name": "Juan",
  "family_name": "Diego",
  "country": "CO",
  "product_types": ["off_ramp"],
  "email": "juan.diego@example.com",
  "phone": "+573001234567",
  "date_of_birth": "1985-06-15",
  "document": {
    "type": "cc",
    "number": "1020304050"
  },
  "address": {
    "line_1": "Calle 100 #15-20",
    "city": "Bogotá",
    "state": "Cundinamarca",
    "postal_code": "110111"
  },
  "idv_consent_recorded_at": "2025-01-30T14:00:00Z",
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "bank_code": "007",
        "account_number": "1234567890",
        "account_type": "checking"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "base"
      }
    }
  ]
}
```

### Validation Notes

* **Email** is required for Colombia
* **Document** is required for Colombia

---

## India (IN)

Send transfers to India in INR via UPI (Unified Payments Interface).

### Required Fields

| Field Path                            | Type   | Required | Description                                            |
| ------------------------------------- | ------ | :------: | ------------------------------------------------------ |
| `email`                               | string |     ✓    | Recipient's email address                              |
| `phone`                               | string |     ✓    | Phone number with country code (must start with `+91`) |
| `financial_accounts[].type`           | string |     ✓    | Must be `upi`                                          |
| `financial_accounts[].details.upi_id` | string |     ✓    | UPI Virtual Payment Address                            |

India is supported for global payouts only; it is not currently enabled for the on-ramp or off-ramp products.

### Example Request

`POST /v1/individuals`:

```json
{
  "given_name": "Rahul",
  "family_name": "Patel",
  "country": "IN",
  "product_types": ["global_payouts"],
  "email": "rahul.patel@gmail.com",
  "phone": "+919876543210",
  "address": {
    "line_1": "Flat 304, Building B, Sunshine Apartments",
    "line_2": "12/A, MG Road",
    "city": "Bengaluru",
    "state": "Karnataka",
    "postal_code": "560001"
  },
  "financial_accounts": [
    {
      "type": "upi",
      "details": {
        "upi_id": "9876543210@paytm"
      }
    }
  ]
}
```

### Validation Notes

* **Email** is required for India
* **Phone** is required for India (must start with `+91`, max 20 characters)
* **UPI ID** must contain exactly one `@` symbol (format: `identifier@provider`)
* **UPI ID** cannot exceed 45 characters

---

## Mexico (MX)

Send transfers to Mexico in MXN via SPEI (Sistema de Pagos Electrónicos Interbancarios).

### Required Fields

| Field Path                           | Type   | Required | Description                             |
| ------------------------------------ | ------ | :------: | --------------------------------------- |
| `financial_accounts[].type`          | string |     ✓    | Must be `bank_account`                  |
| `financial_accounts[].details.clabe` | string |     ✓    | 18-digit CLABE interbank account number |

### Document

For off-ramp, `document` is required. For other product types it is optional. The only accepted `document.type` is `curp` (Clave Única de Registro de Población).

The CURP must be 18 characters: 4 uppercase letters, 6 digits, `H` or `M`, 2 uppercase letters, 3 uppercase letters, 1 alphanumeric character, and 1 digit.

### Example Request

#### Global Payouts

`POST /v1/individuals`:

```json
{
  "given_name": "Maria",
  "family_name": "Lopez",
  "country": "MX",
  "product_types": ["global_payouts"],
  "address": {
    "line_1": "Paseo de la Reforma 505",
    "city": "Ciudad de México",
    "state": "CDMX",
    "postal_code": "06500"
  },
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "clabe": "002180701234567895"
      }
    }
  ]
}
```

#### On/Off-Ramp

`POST /v1/individuals`:

```json
{
  "given_name": "Maria",
  "family_name": "Lopez",
  "country": "MX",
  "product_types": ["on_ramp", "off_ramp"],
  "email": "maria.lopez@ejemplo.com",
  "phone": "+525512345678",
  "date_of_birth": "1988-03-14",
  "document": {
    "type": "curp",
    "number": "GARC850615HDFRRL09"
  },
  "address": {
    "line_1": "Paseo de la Reforma 505",
    "city": "Ciudad de México",
    "state": "CDMX",
    "postal_code": "06500"
  },
  "idv_consent_recorded_at": "2025-01-30T14:00:00Z",
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "clabe": "002180701234567895"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "base"
      }
    }
  ]
}
```

### Validation Notes

* **CLABE** must be exactly 18 digits
* Transfers are processed via Mexico's SPEI system

---

## Philippines (PH)

Send transfers to the Philippines in PHP via InstaPay or PESONet. Recipients can be funded into either a bank account or a digital wallet.

Both `instapay` and `pesonet` are accepted as the `payout_method` on quotes and transfers. InstaPay settles in real time; PESONet is a batch rail with higher limits and an expected settlement time of up to 48 hours.

### Document

For off-ramp, `document` is required. For other product types it is optional. The only accepted `document.type` is `tin` (Tax Identification Number).

### Bank Account

| Field Path                                    | Type   | Required | Description                                  |
| --------------------------------------------- | ------ | :------: | -------------------------------------------- |
| `financial_accounts[].type`                   | string |     ✓    | Must be `bank_account`                       |
| `financial_accounts[].details.account_number` | string |     ✓    | Bank account number                          |
| `financial_accounts[].details.issuer`         | string |     ✓    | Identifier of the receiving bank (see below) |

The `issuer` must be one of a fixed set of bank identifiers. Common values include:

| Value       | Bank                          |
| ----------- | ----------------------------- |
| `bpi`       | BPI                           |
| `bdo`       | BDO Network Bank              |
| `bdouni`    | BDO Bank                      |
| `metrobank` | Metrobank                     |
| `unionbank` | Union Bank of the Philippines |
| `chinabank` | China Bank                    |
| `landbank`  | LANDBANK                      |
| `pnb`       | PNB                           |
| `rcbc`      | RCBC                          |
| `security`  | Security Bank                 |
| `gotyme`    | GoTyme Bank                   |
| `seabank`   | Seabank                       |
| `tonik`     | Tonik Bank                    |
| `mayabank`  | Maya Bank                     |

Contact support for the full list of supported bank identifiers.

#### Example Request — Bank Account

#### Global Payouts

`POST /v1/individuals`:

```json
{
  "given_name": "Joseph",
  "family_name": "Fajagut",
  "country": "PH",
  "product_types": ["global_payouts"],
  "address": {
    "line_1": "123 Rizal Avenue",
    "city": "Manila",
    "state": "Metro Manila",
    "postal_code": "1000"
  },
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "account_number": "1234567890",
        "issuer": "bpi"
      }
    }
  ]
}
```

#### On/Off-Ramp

`POST /v1/individuals`:

```json
{
  "given_name": "Joseph",
  "family_name": "Fajagut",
  "country": "PH",
  "product_types": ["on_ramp", "off_ramp"],
  "email": "joseph.fajagut@example.com",
  "phone": "+639171234567",
  "date_of_birth": "1985-06-15",
  "document": {
    "type": "tin",
    "number": "123-456-789-000"
  },
  "address": {
    "line_1": "123 Rizal Avenue",
    "city": "Manila",
    "state": "Metro Manila",
    "postal_code": "1000"
  },
  "idv_consent_recorded_at": "2025-01-30T14:00:00Z",
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "account_number": "1234567890",
        "issuer": "bpi"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "base"
      }
    }
  ]
}
```

### Digital Wallet

| Field Path                                    | Type   | Required | Description                                                     |
| --------------------------------------------- | ------ | :------: | --------------------------------------------------------------- |
| `financial_accounts[].type`                   | string |     ✓    | Must be `digital_wallet`                                        |
| `financial_accounts[].details.account_number` | string |     ✓    | Wallet account number (typically the recipient's mobile number) |
| `financial_accounts[].details.issuer`         | string |     ✓    | Identifier of the e-wallet provider (see below)                 |

Supported `issuer` values for digital wallets include:

| Value        | Wallet                |
| ------------ | --------------------- |
| `gcash`      | GCash                 |
| `paymaya`    | PayMaya / Maya Wallet |
| `grabpay`    | GrabPay               |
| `shopeepay`  | ShopeePay             |
| `coins.ph`   | Coins.ph              |
| `starpay`    | Starpay               |
| `palawanpay` | PalawanPay            |
| `tayocash`   | TayoCash              |

Contact support for the full list of supported e-wallet identifiers.

#### Example Request — Digital Wallet

#### Global Payouts

`POST /v1/individuals`:

```json
{
  "given_name": "Joseph",
  "family_name": "Fajagut",
  "country": "PH",
  "product_types": ["global_payouts"],
  "address": {
    "line_1": "123 Rizal Avenue",
    "city": "Manila",
    "state": "Metro Manila",
    "postal_code": "1000"
  },
  "financial_accounts": [
    {
      "type": "digital_wallet",
      "details": {
        "account_number": "09171234567",
        "issuer": "gcash"
      }
    }
  ]
}
```

#### On/Off-Ramp

`POST /v1/individuals`:

```json
{
  "given_name": "Joseph",
  "family_name": "Fajagut",
  "country": "PH",
  "product_types": ["on_ramp", "off_ramp"],
  "email": "joseph.fajagut@example.com",
  "phone": "+639171234567",
  "date_of_birth": "1985-06-15",
  "document": {
    "type": "tin",
    "number": "123-456-789-000"
  },
  "address": {
    "line_1": "123 Rizal Avenue",
    "city": "Manila",
    "state": "Metro Manila",
    "postal_code": "1000"
  },
  "idv_consent_recorded_at": "2025-01-30T14:00:00Z",
  "financial_accounts": [
    {
      "type": "digital_wallet",
      "details": {
        "account_number": "09171234567",
        "issuer": "gcash"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "base"
      }
    }
  ]
}
```

### Validation Notes

* Transfers are processed via the InstaPay or PESONet networks, selected with `payout_method`

---

## United Arab Emirates (AE)

Send transfers to the United Arab Emirates in AED by local bank transfer to a UAE IBAN, and accept AED deposits for on-ramp through a dedicated virtual IBAN.

The UAE is supported for the on-ramp and off-ramp products only. It is not enabled for global payouts.

### Required Fields

In addition to the [on-ramp and off-ramp requirements](#additional-requirements-for-on-ramp-and-off-ramp):

| Field Path                                              | Type   | Required | Description                                                                                    |
| ------------------------------------------------------- | ------ | :------: | ---------------------------------------------------------------------------------------------- |
| `phone`                                                 | string |     ✓    | Must be a valid UAE phone number (e.g. `+971501234567`)                                        |
| `document.type`                                         | string |     ✓    | Document type: `emirates_id` or `passport`                                                     |
| `document.number`                                       | string |     ✓    | Document number (see below)                                                                    |
| `nationality`                                           | string |          | End user's nationality as an ISO 3166-1 alpha-2 country code. Defaults to `AE` if omitted      |
| `place_of_birth`                                        | string |          | End user's country of birth as an ISO 3166-1 alpha-2 country code. Defaults to `AE` if omitted |
| `financial_accounts[].type`                             | string |     ✓    | `bank_account` for the fiat destination; `crypto_wallet` for the stablecoin wallet             |
| `financial_accounts[].details.iban`                     | string |     ✓    | UAE IBAN (23 characters, starting with `AE`)                                                   |
| `financial_accounts[].details.bank_account_holder_name` | string |     ✓    | Name on the bank account (2-140 characters)                                                    |
| `financial_accounts[].details.bank_name`                | string |          | Name of the receiving bank                                                                     |

All address fields except `address.line_2` are required. Use the emirate (for example `Dubai` or `Abu Dhabi`) for `address.state`. Many UAE addresses have no postal code; in that case pass `00000` as `address.postal_code`.

### Document Types

* `emirates_id` — Emirates ID (UAE residents). The number must be 15 digits starting with `784`, either as digits only (`784198812345671`) or in the dashed format (`784-1988-1234567-1`)
* `passport` — International passport (non-residents)

### Identity Verification

UAE individuals are verified with a **Sumsub share token** submitted to `POST /v1/individuals/{id}/verification_token`, not with verification image uploads. Image uploads are rejected for UAE individuals. A newly created UAE individual starts in `action_required` with the status detail code `verification_token_needed`.

Token-based KYC needs a **one-time setup per integration** before you can use it. It is not done per end user. Contact your Latitude account team to start it. The setup covers:

* **Sumsub account:** You need your own Sumsub account. Your verification flow (level) must meet our UAE partner's minimum requirements, which include a government ID and a liveness check.
* **Token-sharing connection:** Your Sumsub account must be connected to our partner's Sumsub account so that share tokens you generate can be imported. We coordinate this connection with you.
* **Feature enablement:** Latitude enables token-based verification as part of setup.

Once the setup is complete, for each end user: they complete KYC in your Sumsub flow, you generate a share token for their applicant, and you submit it with these fields:

| Field                       | Required | Description                                                            |
| --------------------------- | :------: | ---------------------------------------------------------------------- |
| `provider`                  |     ✓    | Must be `sumsub`                                                       |
| `token`                     |     ✓    | Sumsub share token for the end user's applicant (max 4096 characters)  |
| `applicant_id`              |     ✓    | The end user's applicant ID in your Sumsub account                     |
| `partner_terms_accepted_at` |     ✓    | ISO 8601 time the end user accepted our UAE partner's terms of service |

A `202` response means the token was accepted for processing. The KYC result arrives asynchronously through the `individual.status_changed` webhook.

### Example Request

`POST /v1/individuals`:

```json
{
  "given_name": "Ahmed",
  "family_name": "Al Mansouri",
  "country": "AE",
  "product_types": ["on_ramp", "off_ramp"],
  "email": "ahmed.almansouri@example.com",
  "phone": "+971501234567",
  "date_of_birth": "1988-03-14",
  "document": {
    "type": "emirates_id",
    "number": "784-1988-1234567-1"
  },
  "address": {
    "line_1": "Apartment 1204, Marina Heights Tower",
    "line_2": "Dubai Marina",
    "city": "Dubai",
    "state": "Dubai",
    "postal_code": "00000"
  },
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "iban": "AE070331234567890123456",
        "bank_account_holder_name": "Ahmed Al Mansouri",
        "bank_name": "Emirates NBD"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "ethereum"
      }
    }
  ]
}
```

### On-Ramp and Off-Ramp Details

|             | On-ramp (AED → USDC)                                                                                                  | Off-ramp (USDC → AED)                                                       |
| ----------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| Flow        | Conversion account (`POST /v1/conversion_accounts`)                                                                   | Transfer (`POST /v1/transfers`), with an optional quote (`POST /v1/quotes`) |
| Fiat rails  | Local UAE bank transfer to a virtual IBAN (`deposit_instructions.type`: `ae_bank_account`; `payment_methods`: `aani`) | Local UAE bank transfer to the recipient's IBAN (`payout_method`: `local`)  |
| Sandbox cap | 10 AED per simulated deposit                                                                                          | 3 USDC per transfer                                                         |

### Validation Notes

* **IBAN** must be exactly 23 characters, start with `AE`, and pass the IBAN check-digit validation
* **Bank account holder name** must be between 2 and 140 characters
* **Emirates ID** must be 15 digits starting with `784` (with or without dashes)
* **AED amounts** can have at most 2 decimal places
* On-ramp deposits must come from a UAE bank account in the end user's own name

---

## United Kingdom (GB)

Send transfers to the United Kingdom in GBP via Faster Payments.

### Required Fields

| Field Path                                              | Type   | Required | Description                                            |
| ------------------------------------------------------- | ------ | :------: | ------------------------------------------------------ |
| `financial_accounts[].type`                             | string |     ✓    | Must be `bank_account`                                 |
| `financial_accounts[].details.bank_account_country`     | string |     ✓    | Country of the recipient's bank account — must be `GB` |
| `financial_accounts[].details.sort_code`                | string |     ✓    | 6-digit UK sort code                                   |
| `financial_accounts[].details.account_number`           | string |     ✓    | 8-digit UK bank account number                         |
| `financial_accounts[].details.bank_account_holder_name` | string |     ✓    | Name on the bank account (2-140 characters)            |

### Example Request

#### Global Payouts

`POST /v1/individuals`:

```json
{
  "given_name": "James",
  "family_name": "Smith",
  "country": "GB",
  "product_types": ["global_payouts"],
  "address": {
    "line_1": "10 Downing Street",
    "city": "London",
    "state": "England",
    "postal_code": "SW1A 2AA"
  },
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "bank_account_country": "GB",
        "sort_code": "200000",
        "account_number": "55779911",
        "bank_account_holder_name": "James Smith"
      }
    }
  ]
}
```

#### On/Off-Ramp

`POST /v1/individuals`:

```json
{
  "given_name": "James",
  "family_name": "Smith",
  "country": "GB",
  "product_types": ["off_ramp"],
  "email": "james.smith@example.com",
  "phone": "+447911123456",
  "date_of_birth": "1985-06-15",
  "document": {
    "type": "passport",
    "number": "123456789"
  },
  "address": {
    "line_1": "10 Downing Street",
    "city": "London",
    "state": "England",
    "postal_code": "SW1A 2AA"
  },
  "idv_consent_recorded_at": "2025-01-30T14:00:00Z",
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "bank_account_country": "GB",
        "sort_code": "200000",
        "account_number": "55779911",
        "bank_account_holder_name": "James Smith"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "base"
      }
    }
  ]
}
```

### Validation Notes

* **`bank_account_country`** must be `GB`
* **Sort code** must be exactly 6 digits
* **Account number** must be exactly 8 digits
* **Bank account holder name** must be between 2 and 140 characters
* Transfers are processed via the Faster Payments network

---

## SEPA Countries (EUR)

Send transfers in EUR via SEPA Instant to any of the supported SEPA zone countries. All SEPA countries share the same recipient requirements.

### Supported Countries

**Eurozone (21 countries):**
Austria (AT), Belgium (BE), Bulgaria (BG), Croatia (HR), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), Germany (DE), Greece (GR), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), Netherlands (NL), Portugal (PT), Slovakia (SK), Slovenia (SI), Spain (ES)

**Non-Eurozone SEPA (EU):**
Czech Republic (CZ), Denmark (DK), Hungary (HU), Poland (PL), Romania (RO), Sweden (SE)

**Non-EU SEPA (EEA):**
Iceland (IS), Liechtenstein (LI), Norway (NO), Switzerland (CH)

### Required Fields

| Field Path                                              | Type   | Required | Description                                                                              |
| ------------------------------------------------------- | ------ | :------: | ---------------------------------------------------------------------------------------- |
| `financial_accounts[].type`                             | string |     ✓    | Must be `bank_account`                                                                   |
| `financial_accounts[].details.bank_account_country`     | string |     ✓    | ISO 3166-1 alpha-2 code of the bank account's country — must be a supported SEPA country |
| `financial_accounts[].details.iban`                     | string |     ✓    | IBAN (International Bank Account Number)                                                 |
| `financial_accounts[].details.bank_account_holder_name` | string |     ✓    | Name on the bank account (2-140 characters)                                              |
| `financial_accounts[].details.bic`                      | string |          | BIC/SWIFT code (8 or 11 characters, optional)                                            |

### Example Request

#### Global Payouts

`POST /v1/individuals`:

```json
{
  "given_name": "Anna",
  "family_name": "Mueller",
  "country": "DE",
  "product_types": ["global_payouts"],
  "address": {
    "line_1": "Friedrichstraße 123",
    "city": "Berlin",
    "state": "Berlin",
    "postal_code": "10117"
  },
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "bank_account_country": "DE",
        "iban": "DE89370400440532013000",
        "bank_account_holder_name": "Anna Mueller"
      }
    }
  ]
}
```

#### On/Off-Ramp

`POST /v1/individuals`:

```json
{
  "given_name": "Anna",
  "family_name": "Mueller",
  "country": "DE",
  "product_types": ["off_ramp"],
  "email": "anna.mueller@example.com",
  "phone": "+493012345678",
  "date_of_birth": "1985-06-15",
  "document": {
    "type": "passport",
    "number": "C01X00T47"
  },
  "address": {
    "line_1": "Friedrichstraße 123",
    "city": "Berlin",
    "state": "Berlin",
    "postal_code": "10117"
  },
  "idv_consent_recorded_at": "2025-01-30T14:00:00Z",
  "financial_accounts": [
    {
      "type": "bank_account",
      "details": {
        "bank_account_country": "DE",
        "iban": "DE89370400440532013000",
        "bank_account_holder_name": "Anna Mueller"
      }
    },
    {
      "type": "crypto_wallet",
      "details": {
        "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
        "network": "base"
      }
    }
  ]
}
```

### Validation Notes

* **`bank_account_country`** must be a supported SEPA country code; it does not need to match `address.country` (e.g. a recipient living in France can be paid into a German IBAN)
* **IBAN** must be between 15 and 34 characters, starting with a 2-letter country code followed by 2 check digits
* **BIC/SWIFT** is optional; if provided, must be 8 or 11 characters (e.g., `COBADEFFXXX`)
* **Bank account holder name** must be between 2 and 140 characters
* Transfers are processed via SEPA Instant

---

## Country Requirements Summary

In addition to the base fields required for all recipients (including full address), some countries require extra fields:

> This table reflects requirements for global payouts. For on-ramp and off-ramp, `email`, `phone`, `document`, `date_of_birth`, and `idv_consent_recorded_at` are required for every country (except `idv_consent_recorded_at` for the United Arab Emirates) — see [Additional requirements for on-ramp and off-ramp](#additional-requirements-for-on-ramp-and-off-ramp).

| Country              | Email | Phone | Document |
| -------------------- | :---: | :---: | :------: |
| Argentina (AR)       |       |       |     ✓    |
| Brazil (BR)          |       |       |     ✓    |
| Colombia (CO)        |   ✓   |       |     ✓    |
| India (IN)           |   ✓   |   ✓   |          |
| Mexico (MX)          |       |       |          |
| Philippines (PH)     |       |       |          |
| United Kingdom (GB)  |       |       |          |
| SEPA Countries (EUR) |       |       |          |

---

## Financial Account Types Summary

| Country              | Currency | Financial Account Type | Payment Method      | Key Details Fields                                                                |
| -------------------- | -------- | ---------------------- | ------------------- | --------------------------------------------------------------------------------- |
| Argentina            | ARS      | `bank_account`         | CBU/CVU             | `account_number`, `account_type`                                                  |
| Brazil               | BRL      | `pix`                  | PIX                 | `pix_key`, `pix_key_type`                                                         |
| Colombia             | COP      | `bank_account`         | ACH                 | `bank_code`, `account_number`, `account_type`                                     |
| India                | INR      | `upi`                  | UPI                 | `upi_id`                                                                          |
| Mexico               | MXN      | `bank_account`         | SPEI                | `clabe`                                                                           |
| Philippines          | PHP      | `bank_account`         | InstaPay, PESONet   | `account_number`, `issuer`                                                        |
| Philippines          | PHP      | `digital_wallet`       | InstaPay, PESONet   | `account_number`, `issuer`                                                        |
| United Arab Emirates | AED      | `bank_account`         | Local bank transfer | `iban`, `bank_account_holder_name`                                                |
| United Kingdom       | GBP      | `bank_account`         | Faster Payments     | `bank_account_country`, `sort_code`, `account_number`, `bank_account_holder_name` |
| SEPA Countries       | EUR      | `bank_account`         | SEPA Instant        | `bank_account_country`, `iban`, `bank_account_holder_name`                        |