Guides
Limits
Rate Limits
All Skribble APIs enforce rate limiting. Exceeding a limit returns 429 Too Many Requests. Requests resume once the rate limit window resets.
Specific numeric limits (requests per minute/hour) are not published in the OpenAPI specs. Contact info@skribble.com if you need exact thresholds for capacity planning.
General Behaviour
Every endpoint can return a 429 response. When you receive one:
- Stop sending requests to that endpoint immediately.
- Check the
Retry-Afterheader (if present); it indicates how many seconds to wait. - Back off exponentially if no header is present (e.g. 1 s → 2 s → 4 s → …).
- Retry once the wait period has elapsed.
Known Per-Endpoint Limits
| Endpoint | Limit |
|---|---|
POST /access/login | Rate limited; avoid re-authenticating on every request; cache tokens for their ~20-minute lifetime. |
POST /signature-requests/{id}/remind | One reminder per signer per hour. The API enforces this server-side; exceeding it returns 429. Track reminder timestamps client-side to avoid unnecessary calls. |
Recommended Client Behaviour
Code
Document Size Limits
Sign API
| Constraint | Limit |
|---|---|
| Documents per signature request | 50 |
| Max document size (unencoded) | 112.5 MB |
| Max document size (Base64 encoded) | 150 MB |
Documents must be Base64-encoded when sent to the API. Base64 introduces a size overhead of approximately 33%:
Code
Ensure your document does not exceed 112.5 MB before encoding.
Validation API
| Constraint | Limit |
|---|---|
| Document size (multipart upload) | 50 MB |
| Document size (Base64 JSON payload) | 50 MB (Base64 overhead is handled automatically) |
| Request size | 50 MB |
Attachments
There is currently no documented limit on the number of attachments per signature request. Abusive usage may result in enforced limits.
Performance Tips
- Batch document uploads: Upload documents in parallel before creating requests
- Cache authentication tokens: Reuse tokens until they expire
- Use pagination: When listing requests, use
page_numberandpage_size - Poll efficiently: Use callbacks instead of polling when possible
