Skip to main content
Cleo Pay gives you three ways to send a payment: standard payable payment, Quick Pay for ad-hoc amounts, and bulk initiation for paying multiple invoices at once.
You need a verified business and at least one verified bank account before you can initiate payments. See Business Setup and Bank Accounts.

Standard payment flow

1

Find the payable to pay

Payments are tied to payables — invoice records in Cleo Pay. List payables for your business to find the one you want to pay:
curl "https://api.cleo-pay.com/api/businesses/biz_abc123/payables" \
  -H "Authorization: Bearer YOUR_TOKEN"
Each payable in the response has a payableId. Copy the ID of the invoice you want to pay.To get the details of a specific payable:
curl https://api.cleo-pay.com/api/businesses/biz_abc123/payables/pay_xyz789 \
  -H "Authorization: Bearer YOUR_TOKEN"
2

Create a payable (if it doesn't exist)

If the invoice is not yet in Cleo Pay, create it first:
curl -X POST https://api.cleo-pay.com/api/businesses/biz_abc123/payables \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "conn_vendor123",
    "amount": 250000,
    "dueDate": "2026-04-30",
    "invoiceNumber": "INV-2026-042",
    "description": "April consulting services"
  }'
Amounts are in cents. 250000 represents $2,500.00.
3

Initiate the payment

Once you have a payableId, initiate the payment:
curl -X POST https://api.cleo-pay.com/api/payments/initiate \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "payableId": "pay_xyz789",
    "fundingSourceId": "fs_abc123"
  }'
The response includes a paymentId and the payment status. ACH transfers typically settle within 1-3 business days.

Schedule a payment for a future date

To send a payment on a specific future date, include a scheduledDate in your initiation request:
curl -X POST https://api.cleo-pay.com/api/payments/initiate \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "payableId": "pay_xyz789",
    "fundingSourceId": "fs_abc123",
    "scheduledDate": "2026-04-15"
  }'
The payment stays in a scheduled state until the specified date, then processes automatically. To cancel a scheduled payment before it processes:
curl -X POST https://api.cleo-pay.com/api/businesses/biz_abc123/payables/pay_xyz789/cancel-scheduled-payment \
  -H "Authorization: Bearer YOUR_TOKEN"

Quick Pay

Use Quick Pay to send an ad-hoc payment to a connected vendor without creating a formal payable first:
curl -X POST https://api.cleo-pay.com/api/payments/quick-pay \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "conn_vendor123",
    "fundingSourceId": "fs_abc123",
    "amount": 50000,
    "memo": "Equipment deposit"
  }'
Quick Pay is useful for one-off payments or situations where you don’t need invoice-level tracking. For recurring vendors, using payables gives you better audit history.

Bulk payment initiation

Pay multiple payables in a single API call using bulk initiation:
curl -X POST https://api.cleo-pay.com/api/payments/bulk-initiate \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fundingSourceId": "fs_abc123",
    "payableIds": [
      "pay_xyz789",
      "pay_abc456",
      "pay_def012"
    ]
  }'
The response includes a result for each payable — check each item’s status field to confirm whether the payment was initiated successfully or failed.
Each payment in a bulk initiation is processed independently. A failure on one payable does not affect the others.

Cancel a held payment

If a payment is in a held state (for example, pending approval), you can cancel it:
curl -X POST https://api.cleo-pay.com/api/payments/pmt_held123/cancel \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "Payment submitted in error"
  }'
Payments in processing or completed state cannot be cancelled. Contact support if you need to reverse a completed ACH transfer.