Clearway Documentation
  • Home
  • Guides
  • Merchant API
  • Investor Read API
API integration
Getting startedAuthenticationAPI keys and scopesRequest headersIdempotencyErrorsWebhook verificationWebhook eventsOrders and revenueSubscriptionsCheckout integrationDashboard vs APIRate limits
Investor / LP
Investor Read API
Merchant dashboard
Getting startedPayment links & chargesPayment widgetClearway ElementsCheckout & branding
powered by Zudoku
Guides

Rate limits

Rate limits

Clearway enforces rate limits to protect merchants and the platform. When exceeded, the API returns:

Code
{ "success": false, "error": "Too many requests. Please try again later.", "code": "RATE_LIMIT_EXCEEDED" }

HTTP status 429. Back off and retry with exponential delay. Reuse the same Idempotency-Key when retrying money-moving calls for the same user intent.

Merchant HTTP API — API key (api-*)

Server integrations authenticate with API keys on {docsEnv.apiHost}. Each operation name gets its own bucket per merchant account:

BucketLimitApplies to
Per operation60 requests / 60 secondsEach POST …/<FUNCTION_NAME> (for example LIST_PRODUCTS, CREATE_PAYMENT_LINK)

The action name is derived from the handler (for example list-products, create-payment-link). Hitting the limit on one operation does not consume quota on another.

This is enforced during API key verification before your handler runs. Edge protection (Cloudflare) may apply additional limits.

Dashboard session paths (extra limits)

When the dashboard or a session-backed proxy calls GCF (Clerk JWT, not a raw API key on api-*), handlers may apply additional session-only limits. Examples:

HandlerSession limit
CREATE_PAYMENT_LINK30 / 60 seconds
CREATE_CHECKOUT_SESSION30 / 60 seconds
LIST_PRODUCTS60 / 60 seconds
Catalog writes20 / 300 seconds
LIST_ORDERS60 / 60 seconds

These do not replace the API key bucket when you call {docsEnv.apiBaseUrl} directly with a key.

Dashboard API Sandbox Arena

The interactive API Sandbox inside the dashboard (/developer/api/sandbox) uses a separate Arena execute limit:

LimitWindow
20 requests60 seconds

Arena traffic is session-backed testing — not the same as production api-* integrations. See Dashboard vs API.

Playground on this docs site

The API Reference playground calls {docsEnv.apiHost} from your browser:

  • Use Sandbox or test keys only ({docsEnv.keyPrefixExample})
  • Never paste live keys into the playground

Next steps

  • Errors — full error code list
  • Dashboard vs API — Arena vs api-*
  • Getting started — first call
Last modified on July 22, 2026
Dashboard vs APIInvestor Read API
On this page
  • Merchant HTTP API — API key (api-*)
  • Dashboard session paths (extra limits)
  • Dashboard API Sandbox Arena
  • Playground on this docs site
  • Next steps
JSON