payee (a vendor you manage) or a business (an independent Cleo business). To make a contact payment-ready at creation time, include bankAccount and taxInfo in the request body.
Base URL
Authentication
All requests must include a Bearer token in theAuthorization header.
Request Body
The display name for the contact. This is the primary identifier shown in the Cleo Pay dashboard.
List of email addresses for the contact. Maximum 5 addresses. Only applicable to
payee-type contacts — this field is ignored for business-type contacts.Phone number for the contact, in any standard format. Optional.
Mailing address for the contact. Optional.
Bank account details for the contact. Providing this field makes the contact eligible to receive ACH payments. All fields within this object are write-only — they are never returned in API responses. Only
last4 is returned after creation.Tax identification information for the contact. Providing this field is required for 1099 reporting. The full tax ID is write-only — only the last four digits are returned as
taxIdMask after creation.When
false (the default), Cleo Pay checks for an existing contact with a matching name or email and returns an error if a potential duplicate is found. Set this to true to bypass the duplicate-contact guard and force creation.The
bankAccount.accountNumber, bankAccount.routingNumber, and taxInfo.taxId fields are strictly write-only. They are accepted on creation but never returned in any API response. Use bankAccount.last4 and taxInfo.taxIdMask to confirm the values that were saved.Response
Returns the createdContact object with HTTP status 201 Created.
Unique identifier for the newly created contact.
The contact type:
payee or business.Initial status of the contact. Newly created contacts have a status of
active.The display name provided in the request.
Email addresses associated with the contact. Empty for
business-type contacts.Phone number, if provided.
Allowed payment direction:
bidirectional, can_pay, can_be_paid, or none.Net payment terms in days, if configured.
Summary of the linked bank account.
Tax information summary.
Whether the contact can currently receive payments. This is
true when a valid bank account is linked.ISO 8601 timestamp of contact creation.
ISO 8601 timestamp of the most recent update.
null immediately after creation.ISO 8601 timestamp of archival.
null for newly created contacts.Example Request
curl
Example Response
201