Error Codes
Understanding API error responses helps you build robust integrations. This guide covers all error codes, their meanings, and how to handle them effectively.
Error Response Format
All API errors follow a consistent JSON format:
Response Fields
- code (string): Machine-readable error code
- message (string): Human-readable error description
- data (object): Additional error context (usually empty)
HTTP Status Codes
QuickSign API uses standard HTTP status codes to indicate success or failure:
| Error Code | HTTP Status | Description |
|---|---|---|
400 | 400 | Invalid request body, validation error, or malformed JSON Show example{
"code": "ERROR",
"message": "Invalid request body or validation error",
"data": {}
} |
401 | 401 | Missing or invalid API key Show example{
"code": "UNAUTHENTICATED",
"message": "API key is missing or invalid",
"data": {}
} |
403 | 403 | Document does not belong to your account or insufficient permissions Show example{
"code": "ERROR",
"message": "Document does not belong to your account",
"data": {}
} |
404 | 404 | Document, recipient, or resource not found Show example{
"code": "ERROR",
"message": "Document not found",
"data": {}
} |
429 | 429 | API rate limit exceeded Show example{
"code": "ERROR",
"message": "API rate limit exceeded",
"data": {}
} |
500 | 500 | Unexpected server error Show example{
"code": "ERROR",
"message": "Internal server error",
"data": {}
} |
Common Errors
401 Unauthorized - Missing API Key
Missing API Key
401 UnauthorizedCause: Request was sent without the X-API-KEY header.
Solution: Include your API key in every request:
401 Unauthorized - Invalid API Key
Invalid API Key
401 UnauthorizedCause: API key is incorrect, expired, or revoked.
Solution:
- Verify you're using the correct API key
- Check if the key has been revoked
- Generate a new API key if necessary
400 Bad Request - Validation Error
Validation Error
400 Bad RequestCause: Request body contains invalid or missing required fields.
Common Issues:
- Missing required fields (
name,email,role) - Invalid email format
- Invalid role value (must be "SIGNER" or "VIEWER")
- Invalid field type (must be "SIGNATURE", "TEXT", "DATE", or "INITIALS")
- Invalid coordinates or page numbers
Solution: Validate your request body against the API schema:
404 Not Found - Document Not Found
Document Not Found
404 Not FoundCause: Document ID doesn't exist or is invalid.
Solution:
- Verify the document ID is correct (UUID format)
- Check that the document hasn't been deleted
- Ensure you're using the right environment (dev/staging/production)
403 Forbidden - Access Denied
Access Denied
403 ForbiddenCause: You're trying to access a document that doesn't belong to your account.
Solution:
- Verify you're using the correct API key
- Check that the document ID belongs to your account
- Ensure you have the necessary permissions
400 Bad Request - Recipient Not Found
Recipient Not Found
400 Bad RequestCause: Trying to add fields for a recipient that hasn't been added to the document.
Solution: Add recipients before adding fields:
400 Bad Request - Document Not Ready
Document Not Ready
400 Bad RequestCause: Trying to send a document that doesn't meet the requirements.
Requirements before sending:
- Document has at least one recipient
- All recipients have at least one field assigned
- Document is in "DRAFT" status
- Expiry date is in the future
429 Too Many Requests - Rate Limit
Rate Limit Exceeded
429 Too Many RequestsCause: You've exceeded your API usage limit.
Solution:
- Wait before making more requests
- Implement exponential backoff retry logic
- Batch multiple operations into single requests
- Contact support to increase your rate limit
500 Internal Server Error
Internal Server Error
500 Internal Server ErrorCause: Unexpected error on QuickSign servers.
Solution:
- Retry the request after a short delay
- If the error persists, contact support
- Check QuickSign status page for known issues
Error Handling Best Practices
1. Always Check Status Codes
2. Implement Retry Logic
Implement exponential backoff for transient errors (429, 500, 503):
3. Log All Errors
4. Provide User-Friendly Messages
5. Validate Before Sending
Validate data on your end before making API requests:
Testing Error Scenarios
Test your error handling by intentionally triggering errors:
- 401 Unauthorized: Use an invalid API key
- 404 Not Found: Use a non-existent document ID
- 400 Bad Request: Send invalid data (missing required fields)
- 429 Rate Limit: Make rapid successive requests