---
title: "Initiate Payee Creation"
method: POST
path: "/v3/payees"
tags: ["Payee Invitation"]
---

# Initiate Payee Creation

`POST /v3/payees`

Initiate the process of creating 1 to 2000 payees in a batch Use the response location header to query
for status (201 - Created, 400 - invalid request body, 409 - if there is a duplicate remote id within the
batch / if there is a duplicate email within the batch).

## Request body

- CreatePayeesRequest2
  - `payorId` string, required
  - `payees` CreatePayee2[], required
    - `payeeId` string, uuid
    - `payorRefs` PayeePayorRefV3[], nullable
      - `payorId` string, uuid
      - `remoteId` string
      - `invitationStatus` 'ACCEPTED' | 'PENDING' | 'DECLINED'
      - `invitationStatusTimestamp` string, date-time, nullable — The timestamp when the invitation status is updated
      - `paymentChannelId` string, uuid
    - `email` string, email, required
    - `remoteId` string, required
    - `type` 'Individual' | 'Company', required
    - `address` CreatePayeeAddress2, required
      - `line1` string, required
      - `line2` string, nullable
      - `line3` string, nullable
      - `line4` string, nullable
      - `city` string, required
      - `countyOrProvince` string, nullable
      - `zipOrPostcode` string, nullable
      - `country` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW', required — 2 letter ISO 3166-1 country code
    - `paymentChannel` CreatePaymentChannel2
      - `paymentChannelName` string
      - `iban` string — Must match the regular expression ```^[A-Za-z0-9]+$```. Either routing number and account number or only iban must be set
      - `accountNumber` string — Either routing number and account number or only iban must be set
      - `routingNumber` string — Either routing number and account number or only iban must be set
      - `countryCode` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW', required — Two character country code
      - `currency` 'USD' | 'GBP' | 'EUR', required
      - `accountName` string, required
    - `challenge` Challenge
      - `value` string, required
      - `description` string, required
    - `language` 'AR' | 'EN' | 'ES' | 'FR' | 'HE' | 'HI' | 'JA' | 'PT' | 'RU' | 'UR' | 'ZH' — Available Payee Language codes
    - `company` CompanyV1, nullable
      - `name` string, required
      - `taxId` string, nullable — Company Tax Id (EIN) must be 9 numeric characters. Must match the regular expression ```[\d]{9}```.
      - `operatingName` string, nullable
    - `individual` CreateIndividual2
      - `name` CreateIndividual2Name, required
        - `title` string
        - `firstName` string, required
        - `otherNames` string
        - `lastName` string, required
      - `nationalIdentification` string
      - `dateOfBirth` string, date, required — Must not be date in future. Example - 1970-05-20

## Response `201`

HTTP Created. Body created only on CSV requests

- CreatePayeesCSVResponse2
  - `batchId` string, uuid
  - `rejectedCsvRows` CreatePayeesCSVResponseRejectedCsvRows[]
    - `lineNumber` integer
    - `rejectedContent` string
    - `message` string

## Other responses

- `400` — Invalid request. See Error message payload for details of failure
- `401` — Invalid access token. May be expired or invalid
- `403` — The authentication does not have permissions to access the resource This usually occurs when there is a valid authentication instance (client or user) but they do not have the required permissions
- `404` — Resource not found
- `409` — The request contained data that would reult in a duplicate value

## Changes

- **2020-01-28** `1b2abf26b5d6` — 3 breaking, 1 warning, 15 info
  - request property `payees/items/payorRefs/items/invitationStatus` was restricted to a list of enum values (media type: application/json)
  - the `file/items/companyEIN` request property's minLength was increased from `0` to `6` (media type: multipart/form-data)
  - the `rejectedCsvRows/items/` response's property type changed from `string` to no type for status `201`
  - the `file/items/companyEIN` request property's maxLength was set to `30` (media type: multipart/form-data)
  - …15 more
- **2019-11-25** `86699f3efd3a` — 1 info
  - endpoint added
- **2019-07-15** `ced8e167a97c` — 1 info
  - api path removed with deprecation

[Change history](https://skmtc.dev/velopaymentsapi/apis/velo-payments-apis/changes/v3/payees/post.md)

---

[API](https://skmtc.dev/velopaymentsapi/apis/velo-payments-apis.md) · [All operations](https://skmtc.dev/velopaymentsapi/apis/velo-payments-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/velopaymentsapi/apis/velo-payments-apis/revisions/1b2abf26b5d6?raw)
