Skip to main content
This guide walks you through the end-to-end flow from a fresh API token to a completed ACH payment. You’ll link your business bank account, verify it with micro-deposits, create a vendor contact, and send your first payment — all via the REST API. Each step builds on the previous one, so work through them in order.
1

Get your API token

Obtain a JWT from Cleo Pay and set it as an environment variable so you can reuse it across all the following commands.
Every request must include this token in the Authorization header:
Keep your token in an environment variable or a secrets manager. Never hard-code it in your application source code or commit it to version control.
Verify your token works by fetching your bank accounts (an empty list is a valid, successful response):
2

Link a bank account

Add your business checking or savings account. You’ll need the full account number and routing number — these are accepted on write but never returned in responses (only the last 4 digits are returned).
Response:
Save the id from the response — you’ll need it in the next step.
Two small micro-deposits (each under $0.10) will be sent to the account within 1–2 business days. Check the account statement to find the exact amounts before proceeding to the next step.
3

Verify the bank account with micro-deposits

Once the two micro-deposits appear in your bank statement, submit both amounts to verify ownership. Amounts are provided as decimal dollar strings (e.g. "0.05" for five cents).
Response:
When status changes to "verified", the account is ready to fund payments.
You have a maximum of 3 verification attempts. If you enter incorrect amounts 3 times, the account will move to unverified and you will need to link a new account.
4

Create a contact (vendor)

Create the vendor or payee you want to pay. Supply their bank account details so Cleo Pay knows where to send funds.
Response:
Save the contact id:
Check that paymentReady is true before sending a payment. A false value means the contact is missing required details (such as a bank account) and the payment will enter a held status.
5

Send a payment

Send an ACH payment directly to your contact. Specify the amount in cents and reference your verified bank account as the funding source.
Response:
Your payment is now scheduled and will move to processing once the ACH window opens, and finally to completed when funds settle.
To pay a specific invoice instead of sending to a contact directly, replace contactId and amountCents with payableId. The payment will be applied against the payable’s remaining balance automatically.

What’s next?

  • Payables — model invoices and track payment progress against them.
  • Contacts — manage vendor details, payment direction, and tax info.
  • Bank Accounts — understand the full verification lifecycle.
  • Payments — explore clearing speeds, scheduling, and partial payments.