Skip to main content

Rate Limits

Payscribe currently throttles POST requests to 60 requests per minute per source IP address. The limit applies across the API, not separately to each endpoint or API key.

When the limit is exceeded, the API returns 429 Too Many Requests with this JSON shape:

{
"status": false,
"description": "Too many request.",
"status_code": 429
}

The API does not currently return X-RateLimit-* or Retry-After response headers. Do not depend on those headers until they are published here.

Handle 429 safely

  1. Stop sending new requests from the affected worker or IP.
  2. Retry with exponential backoff and random jitter, for example 1, 2, 4, 8, then 16 seconds.
  3. Preserve the original ref for any retry of a write operation.
  4. Do not fan out retries or poll in a tight loop.

Rate limiting is a protection mechanism, not a transaction result. For a timed-out or rate-limited write, use the original ref and the relevant transaction record to reconcile the operation before asking a customer to retry.

Was this page helpful?

Report a docs issue →