Templates API

Manage document templates programmatically with the Templates API. Create, update, and organize your templates for automated document generation.

Base URL

https://api.docaflex.com/v1/templates

Authentication

All API requests require authentication. Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Endpoints

GET /templates

Retrieve a list of all templates in your workspace.

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
limitintegerItems per page (default: 20, max: 100)
categorystringFilter by template category

Example Response

{
  "templates": [
    {
      "id": "tpl_123456",
      "name": "Invoice Template",
      "description": "Standard invoice template",
      "category": "finance",
      "fields": [
        {
          "name": "customer_name",
          "type": "string",
          "required": true
        },
        {
          "name": "amount",
          "type": "number",
          "required": true
        }
      ],
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 45,
    "pages": 3
  }
}

POST /templates

Create a new document template.

Request Body

{
  "name": "Contract Template",
  "description": "Standard service contract",
  "category": "legal",
  "content": "Contract content with {{placeholders}}",
  "fields": [
    {
      "name": "client_name",
      "type": "string",
      "required": true,
      "description": "Client company name"
    },
    {
      "name": "start_date",
      "type": "date",
      "required": true,
      "description": "Contract start date"
    }
  ],
  "settings": {
    "output_format": "pdf",
    "auto_generate": true
  }
}

Response

{
  "id": "tpl_789012",
  "name": "Contract Template",
  "status": "active",
  "created_at": "2024-01-15T11:00:00Z"
}

PUT /templates/{id}

Update an existing template.

Path Parameters

  • id (string) - Template ID

Request Body

Same structure as POST request. Only include fields you want to update.

DELETE /templates/{id}

Delete a template. This action cannot be undone.

Response

{
  "message": "Template deleted successfully"
}

Field Types

Supported field types for template placeholders:

Basic Types

  • string - Text content
  • number - Numeric values
  • date - Date values
  • boolean - True/false values

Advanced Types

  • email - Email addresses
  • url - Web URLs
  • currency - Monetary values
  • array - List of values

Error Responses

Common Error Codes

400 - Bad Request: Invalid request data
401 - Unauthorized: Invalid or missing API key
403 - Forbidden: Insufficient permissions
404 - Not Found: Template not found
429 - Too Many Requests: Rate limit exceeded
Hi there 👋 How can we help?