New to the API?
Start with the Quick Start guide to make your first API call
API Categories
Cases
Manage multi-step workflows with contacts and structured data. Key Endpoints:GET /cases- List cases with filteringPOST /cases- Create a new caseGET /cases/{id}- Get case details with stepsPOST /cases/{id}/data- Update case data fieldsGET /cases/count- Count cases
- Create structured workflows for customer onboarding, support tickets, etc.
- Track case progress through multiple steps
- Manage contacts associated with cases
- Update case data programmatically
Forms
Manage forms and responses. Key Endpoints:GET /forms- List forms with filtering and paginationPOST /forms- Create a new formGET /forms/{id}- Get form details including responsesPATCH /forms/{id}- Update form status or propertiesGET /forms/count- Count forms with optional groupingGET /responses/{id}- Get response details
- Send forms to customers or partners
- Track form completion status
- Archive or process completed forms
- Retrieve form responses with attachments
Form Templates
Access and configure form templates and their customizations. Key Endpoints:GET /form_templates- List available form templatesGET /form_templates/{slug}/options- Get template configuration optionsGET /form_templates/{slug}/steps- Get template structure and fields
- Discover available form templates
- Understand form structure before creating forms
- Access template-specific settings
Attachments
Upload, download, and manage file attachments. Key Endpoints:POST /attachments- Upload files (JSON or multipart)GET /attachments/{id}- Download single attachmentGET /attachments?ids=...- Download multiple attachments as PDF
- Upload documents for processing
- Download form response attachments
- Merge multiple documents into a single PDF
Document Intelligence
Extract structured data from documents using AI. Key Endpoints:POST /document-intelligence- Create extraction jobGET /document-intelligence/{id}- Get extraction results
- Extract invoice data (number, date, amount)
- Parse ID documents
- Process contracts and forms automatically
Signatures
Access digital signatures created through form responses. Key Endpoints:GET /signatures/{id}- Get signature metadata or download file
- Download signed documents
- Track signature status
- Verify signature completion
Workspaces
List available workspaces accessible with your token. Key Endpoints:GET /workspaces- List accessible workspaces
Rate Limiting
- 100 requests per minute per access token
- 1,000 requests per hour per client
429 Too Many Requests response. Implement exponential backoff in your integration.
Response Format
All responses use JSON format with consistent structure:Single Resource Response
Paginated Collection Response
Error Response
Pagination and Filtering
The API provides powerful pagination, sorting, and filtering capabilities on all list endpoints.Pagination & Sorting
Control result size and order with
page[number], page[size], and sort parametersAdvanced Filters
Filter results with operators like
$eq, $ne, $gt, $like, and $extendsCommon Headers
Request Headers
Authorization: Bearer {token}- Required for authenticationContent-Type: application/json- For JSON request bodiesAccept: application/json- Default response format (optional)
Response Headers
Content-Type: application/json- JSON responsesContent-Type: application/octet-stream- Binary file downloads
HTTP Status Codes
| Code | Description |
|---|---|
200 | Success |
201 | Created |
202 | Accepted (async processing) |
400 | Bad Request - Invalid input |
401 | Unauthorized - Invalid or missing token |
403 | Forbidden - No access to resource |
404 | Not Found - Resource doesn’t exist |
413 | Payload Too Large |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error |
Webhooks
When creating forms, you can specify webhook URLs to receive real-time notifications about events:forms:created,forms:updated,forms:deletedforms:archived,forms:unarchivedresponses:created,responses:updated,responses:deletedresponses:completed
Best Practices
1. Use Filtering Wisely
Apply filters to reduce data transfer and improve response times.2. Implement Error Handling
Always handle potential error responses and implement retry logic with exponential backoff.3. Store IDs, Not Full Objects
Store resource IDs and fetch fresh data when needed to avoid stale data.4. Use Webhooks for Real-Time Updates
Instead of polling, use webhooks to receive notifications when forms are completed.5. Batch Operations
When possible, use batch endpoints likePOST /cases/{id}/data to update multiple fields at once.
6. Respect Rate Limits
Implement proper rate limiting in your application to avoid429 errors.
Support
For questions or issues with the API:- Check the detailed endpoint documentation
- Review the Advanced Filters guide
- Contact support at [email protected]