Contact types
Cleo Pay supports two contact types:
When creating contacts via the API, you will most commonly work with the
payee type.
Create a contact
1
POST /v1/contacts — provide contact details
Submit a A successful response returns the full
POST /v1/contacts request with at minimum a displayName. Provide as much additional detail as possible — particularly bankAccount and taxInfo — so the contact is payment-ready right away.The
address object supports the following fields:The
bankAccount object accepts accountNumber (write-only), routingNumber (write-only), and accountType (checking or savings).The taxInfo object accepts legalName, taxIdType (ein or ssn), and taxId (write-only).Create a fully populated contact
Contact object:Contact created
2
Check paymentReady
After creation, verify that
paymentReady: true in the response. A contact is payment-ready when it has both a bank account and tax information on file.If paymentReady is false, any payment to this contact will be created in held status and will not process until the missing information is added.3
Update a contact with PATCH
Use
PATCH /v1/contacts/{id} to update mutable fields. Only the fields you include in the request body are changed — all other fields remain unchanged.The following fields are updatable for all contact types:The following fields are updatable for
payee contacts only:Update a contact's net terms
Archive and unarchive contacts
Archiving removes a contact from default list queries without permanently deleting them. This is useful for vendors you no longer work with but want to retain for historical records. Archive a contact:Archive a contact
Unarchive a contact
Contact object with the new status value.
Filter the contacts list
When listing contacts withGET /v1/contacts, use query parameters to narrow your results. By default, the endpoint returns both active and archived contacts; revoked contacts are excluded unless explicitly requested.
List active payee contacts matching 'acme'
page and pageSize parameters.