Skip to main content
A pay-me link is a permanent, shareable URL for your business. Anyone with the link can pay you via ACH — they do not need to create a Cleo Pay account or be connected to your business. Unlike payment links, pay-me links are not tied to a specific invoice. They are useful for collecting ad hoc payments, deposits, or any situation where you want to accept money without issuing a formal invoice first. Each business has a single pay-me link with its own token. You can set minimum and maximum payment amounts to control what payers can enter.
1

Check eligibility

Retrieve your current pay-me link settings to see whether your account is eligible to use this feature and whether the link is already enabled.
curl --request GET \
  --url https://api.cleo-pay.com/api/businesses/{businessId}/pay-me-link \
  --header 'Authorization: Bearer YOUR_TOKEN'
The response includes an eligible flag, the current enabled state, and your link’s token if one has been generated.
Your business must be fully verified before you can enable a pay-me link. Complete identity and bank account verification first.
2

Enable the link and set amount limits

Call the configure endpoint to enable your pay-me link. You can optionally set a minimum and maximum payment amount (in cents).
curl --request POST \
  --url https://api.cleo-pay.com/api/businesses/{businessId}/pay-me-link/configure \
  --header 'Authorization: Bearer YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "enabled": true,
    "minAmount": 1000,
    "maxAmount": 500000
  }'
In this example, payers must enter an amount between 10.00and10.00 and 5,000.00. To allow any amount, omit minAmount and maxAmount.The response includes the full pay-me link URL that you can share.
3

Share your pay-me link

Copy the URL from the configure response and share it however you like — email signature, website, invoices, or messaging apps. The link remains active until you disable it or regenerate the token.
To stop accepting payments through the link, call the configure endpoint with enabled: false:
curl --request POST \
  --url https://api.cleo-pay.com/api/businesses/{businessId}/pay-me-link/configure \
  --header 'Authorization: Bearer YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "enabled": false
  }'
The link URL becomes inactive immediately. Payers who try to open it will see an error.

Regenerate the token

Regenerating the token changes your pay-me link URL and permanently invalidates the old one. Do this if you want to stop accepting payments from a previously shared link without disabling the feature entirely.
curl --request POST \
  --url https://api.cleo-pay.com/api/businesses/{businessId}/pay-me-link/regenerate-token \
  --header 'Authorization: Bearer YOUR_TOKEN'
The response includes the new URL. Update anywhere you have shared the old link.
The old pay-me link URL stops working immediately after regeneration. Any payer who has bookmarked the old URL will not be able to pay until you share the new one.

Payer experience

When a payer opens your pay-me link, they go through the following steps:
  1. Validate the linkGET /api/public/pay-me/{token}/validate confirms the link is active and returns your business name and any amount constraints.
  2. Enter payment details — The payer fills in the payment amount (within your configured limits), their name, and their email address.
  3. Connect a bank account — The payer links their bank via Plaid or, if they have an existing Cleo Pay account, can use a saved bank account.
  4. Pay — The payment is initiated via POST /api/public/pay-me/{token}/pay. Cleo Pay creates a payable record and initiates the ACH transfer.
  5. View receipt — After payment, the payer can access a receipt at GET /api/public/pay-me/{token}/receipt/{payablePublicId}.

API reference

MethodEndpointDescription
GET/api/businesses/{businessId}/pay-me-linkGet settings and eligibility
POST/api/businesses/{businessId}/pay-me-link/configureEnable/disable, set amounts
POST/api/businesses/{businessId}/pay-me-link/regenerate-tokenRegenerate link token
GET/api/public/pay-me/{token}/validateValidate token (public)
POST/api/public/pay-me/{token}/payInitiate payment (public)
GET/api/public/pay-me/{token}/receipt/{payablePublicId}Get payment receipt (public)