API Access for Developers
BreezeDoc provides a REST API for developers to integrate document workflows into applications. This guide covers API access, authentication methods, endpoints, rate limits, and getting started with the BreezeDoc API.
Prerequisites
- Plan: Pro or Agency plan required (API not available on Free plan)
- Account: Active BreezeDoc account with API access enabled
- Technical Knowledge: Basic understanding of REST APIs and HTTP requests
- Tools: API client (Postman, curl, or programming language HTTP library)
What is the BreezeDoc API?
The BreezeDoc API is a RESTful API that allows you to:
- Create Documents: Programmatically create documents from templates or PDFs
- Send Documents: Send documents to recipients for signing
- Track Status: Monitor document progress and completion
- Manage Templates: Create and retrieve templates
- Manage Recipients: Add recipients and track their status
- Team Operations: Manage team documents and templates (Agency plan)
- User Management: Retrieve user information and settings
Authentication Methods
BreezeDoc API supports two authentication methods:
Personal Access Tokens (Recommended for Individual Use)
Simple authentication using a long-lived token:
- Use Case: Personal scripts, internal tools, testing
- Security: Single token with full account access
- Setup: Generate in BreezeDoc settings
- Format: Bearer token in Authorization header
OAuth 2.0 (Recommended for Applications)
Standard OAuth flow for third-party applications:
- Use Case: Public applications, multi-user integrations
- Security: User-specific permissions, token refresh
- Setup: Register OAuth application in BreezeDoc
- Format: Standard OAuth 2.0 authorization code flow
Getting Started with the API
Step 1: Enable API Access
- Upgrade to Pro or Agency plan if needed.
- API access is automatically enabled on Pro and Agency plans.
- Go to Settings ➜ Integrations ➜ API.
Step 2: Choose Authentication Method
For quick testing or personal use:
- Go to Settings ➜ Integrations ➜ API.
- Click Generate Personal Access Token.
- Copy the token (shown only once).
- Store securely (treat like a password).
For building applications:
- Go to Settings ➜ Integrations ➜ OAuth Apps.
- Click Create OAuth Application.
- Enter application details (name, redirect URL).
- Receive Client ID and Client Secret.
- Implement OAuth 2.0 flow in your application.
Step 3: Make Your First API Request
Example: Get Current User Information
curl -X GET https://api.breezedoc.com/v1/me \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json"
Response:
{
"id": "user_123",
"email": "user@example.com",
"name": "John Doe",
"plan": "pro",
"documentsUsed": 5,
"documentsLimit": 20
}
Available API Endpoints
User Endpoints
GET /api/me- Get current user informationPOST /api/users- Create new user (admin only)
Document Endpoints
GET /api/documents- List all documentsPOST /api/documents- Create new documentGET /api/documents/{id}- Get document detailsGET /api/documents/{id}/recipients- List document recipientsPOST /api/documents/{id}/send- Send document to recipients
Template Endpoints
GET /api/templates- List all templatesGET /api/templates/{id}- Get template detailsPOST /api/templates/{id}/create-document- Create document from template
Recipient Endpoints
GET /api/recipients- List all recipients across documents
Team Endpoints (Agency Plan)
GET /api/teams/{id}/documents- List team documentsGET /api/teams/{id}/templates- List team templates
Rate Limits
API requests are rate-limited to ensure system stability:
- Rate Limit: 60 requests per minute per account
- Headers: Rate limit info included in response headers:
X-RateLimit-Limit: Maximum requests per minute (60)X-RateLimit-Remaining: Requests remaining in current windowX-RateLimit-Reset: Timestamp when limit resets
- Exceeded Limit: Returns HTTP 429 (Too Many Requests)
Rate Limit Best Practices
- Monitor rate limit headers in responses
- Implement exponential backoff on 429 errors
- Cache responses when possible
- Batch operations instead of individual requests
- Use webhooks for event-driven workflows (future feature)
Common API Workflows
Workflow 1: Create and Send Document from Template
- List templates:
GET /api/templates - Create document:
POST /api/templates/{id}/create-document - Add recipients: Include in document creation payload
- Send document:
POST /api/documents/{id}/send
Workflow 2: Check Document Status
- List documents:
GET /api/documents - Get document details:
GET /api/documents/{id} - Check recipients:
GET /api/documents/{id}/recipients - Parse status: Check each recipient's completion status
Workflow 3: Bulk Document Creation
- Get template:
GET /api/templates/{id} - Loop through recipients: Create one document per recipient
- Send all documents: Use send endpoint for each document
Error Handling
API errors return standard HTTP status codes:
- 200 OK: Request successful
- 201 Created: Resource created successfully
- 400 Bad Request: Invalid request parameters
- 401 Unauthorized: Invalid or missing authentication
- 403 Forbidden: Insufficient permissions
- 404 Not Found: Resource does not exist
- 429 Too Many Requests: Rate limit exceeded
- 500 Internal Server Error: Server-side error
Error Response Format
{
"error": "invalid_request",
"message": "Missing required field: recipient_email",
"code": 400
}
API Best Practices
- Security: Never expose API tokens in client-side code or public repositories
- HTTPS Only: All API requests must use HTTPS
- Error Handling: Implement retry logic with exponential backoff
- Logging: Log all API requests and responses for debugging
- Versioning: Use versioned endpoints (currently /v1/)
- Testing: Test in development environment before production
- Monitoring: Monitor rate limits and API health
Troubleshooting
Issue: 401 Unauthorized error
Fix: Verify your access token is correct and not expired. Ensure you're including the Authorization header: Authorization: Bearer YOUR_TOKEN . Check that API access is enabled on your Pro or Agency plan.
Issue: 429 Rate limit exceeded
Fix: Wait until the rate limit window resets (check X-RateLimit-Reset header). Implement exponential backoff. Reduce request frequency or batch operations.
Issue: Cannot access API - Feature not available
Fix: API access requires Pro or Agency plan. Upgrade from Free plan to enable API access. Verify upgrade is active in Settings ➜ Billing.
Issue: CORS errors in browser
Fix: API should be called from server-side code, not directly from browsers. Use a backend proxy to make API calls. Never expose API tokens in client-side JavaScript.
FAQ
Q: Is the BreezeDoc API free to use?
A: API access requires a Pro ($19/month) or Agency ($49/month) plan. It is not available on the Free plan.
Q: What is the API rate limit?
A: 60 requests per minute per account. Rate limit headers are included in all API responses.
Q: Can I use the API on the Free plan?
A: No, API access is only available on Pro and Agency plans. Upgrade to enable API access.
Q: Is there API documentation?
A: Yes, complete API documentation is available at api.breezedoc.com/docs with interactive examples and SDKs.
Need more help? Contact our support team – we are here to help!