API v1 is deprecated, but will continue to be supported. For new integrations, please use API v2.
Base URL
Authentication
All API v1 requests require an API key in theAuthorization header. The API supports both bearer token format and direct token format:
Creating an API Token
- Log in to your Documenso account
- Navigate to Settings > API Tokens
- Click “Create API Token”
- Give your token a descriptive name
- Copy the token immediately (it will only be shown once)
API tokens are tied to a specific team. Make sure you’re in the correct team context when creating tokens.
Quick Start
Here’s a complete example of creating and sending a document:API Endpoints
Documents
GET /api/v1/documents- List all documentsGET /api/v1/documents/:id- Get a single documentPOST /api/v1/documents- Create a new documentDELETE /api/v1/documents/:id- Delete a documentPOST /api/v1/documents/:id/send- Send document for signingPOST /api/v1/documents/:id/resend- Resend to specific recipientsGET /api/v1/documents/:id/download- Download signed document
Templates
GET /api/v1/templates- List all templatesGET /api/v1/templates/:id- Get a single templatePOST /api/v1/templates- Create a new templateDELETE /api/v1/templates/:id- Delete a templatePOST /api/v1/templates/:templateId/generate-document- Generate document from template
Recipients
POST /api/v1/documents/:id/recipients- Add a recipientPATCH /api/v1/documents/:id/recipients/:recipientId- Update a recipientDELETE /api/v1/documents/:id/recipients/:recipientId- Remove a recipient
Fields
POST /api/v1/documents/:id/fields- Add field(s) to a documentPATCH /api/v1/documents/:id/fields/:fieldId- Update a fieldDELETE /api/v1/documents/:id/fields/:fieldId- Remove a field
Response Formats
Successful Response
Successful requests return a 200 status code with a JSON body:Error Response
Failed requests return an appropriate HTTP status code with an error message:Common Status Codes
| Code | Description |
|---|---|
200 | Success |
400 | Bad request - invalid parameters |
401 | Unauthorized - invalid or missing API key |
404 | Not found - resource doesn’t exist |
500 | Internal server error |
OpenAPI Specification
The complete OpenAPI specification for API v1 is available at:Rate Limits
API v1 requests are subject to rate limiting to ensure fair usage:- Rate limit: 100 requests per minute per API token
- Burst limit: 10 requests per second
429 Too Many Requests response.
Best Practices
1. Error Handling
Always check the response status and handle errors appropriately:2. Idempotency
Use theexternalId field to ensure idempotency:
3. Webhook Integration
Instead of polling for document status, use webhooks to receive real-time updates:Migration to v2
We recommend migrating to API v2 for new integrations. v2 offers improved performance, better error handling, and new features.
Key Differences
- Document Creation: v2 uses multipart/form-data instead of presigned URLs
- Endpoint Structure: v2 uses
/api/v2/envelopeinstead of/api/v1/documents - Field Positioning: v2 supports multiple file uploads with field identifiers
- Response Format: v2 includes pagination metadata and consistent error formats
See Also
- Documents API - Create and manage documents
- Templates API - Work with document templates
- Recipients API - Manage document recipients
- Fields API - Add signature and form fields
- Webhooks - Receive real-time event notifications
