Limits
API docs
Get started
Guides
Endpoints
Account
Templates
Sending
Documents
Files
OpenAPI
Reference
Limits
Monthly allowance
A workspace can create 250 documents a month through the API on Pro and 1,000 on Teams, resetting on the 1st at 00:00 UTC. Past that, sends return 429 monthly_allowance_exceeded. A plan change applies straight away to what the workspace has already used this month. Only documents created through the API count: reads, signing links, reminders, and voids do not, and documents sent from the Inkly app stay unlimited.
Rate and size limits
- Requests per key
- 120 a minute
- Requests per workspace
- 300 a minute, 20,000 a day
- Document sends per workspace
- 20 a minute
- Signing links per workspace
- 300 an hour
- Signed PDF downloads
- 100 an hour
- Certificate downloads
- 30 an hour
- Attachment downloads per key
- 100 an hour
- PDF upload
- 20 MB, 500 pages, 1 hour to use
- One document
- 25 recipients, 5 of them CCs, 500 fields
Handling a 429
A 429 always carries Retry-After, in seconds. It usually also carries RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset. Other responses do not carry these headers, except that 409 upload_in_progress also carries Retry-After.
Wait that many seconds and send the same request again. For a send, keep the same Idempotency-Key, so the retry can never create a second document.
# --retry repeats the request after a timeout, 429, 500, 502, 503, or 504, waiting as Retry-After says,
# and sends the same Idempotency-Key each time.
curl --retry 5 -X POST "https://www.inkly.so/api/v1/documents" \
-H "Authorization: Bearer $INKLY_API_KEY" \
-H "Idempotency-Key: crm-8841-send-1" \
-H "Content-Type: application/json" \
--data @send.json429 is plain text, with no JSON error body and none of these headers, and no Inkly-Request-Id. Wait up to a minute before retrying, and handle a 429 whose body is not JSON.