PlumDocs API Documentation

API reference for the PlumDocs Zapier integration. Generate documents programmatically from your Google Docs templates.

Authentication

All API requests require authentication via an API key. Include your API key in the X-API-Key header.

Create your API key at Settings → Integrations

Base URL

https://plumdocs.com/api/zapier

Endpoints

GET/auth/test

Validate your API key and retrieve account information.

Request

BASH
curl -X GET "https://plumdocs.com/api/zapier/auth/test" \
  -H "X-API-Key: YOUR_API_KEY"

Response

JSON
{
  "id": "usr_abc123",
  "email": "user@example.com",
  "name": "John Doe"
}
GET/workflows

List all active workflows for the authenticated user.

Request

BASH
curl -X GET "https://plumdocs.com/api/zapier/workflows" \
  -H "X-API-Key: YOUR_API_KEY"

Response

JSON
[
  {
    "id": "wf_abc123",
    "name": "Proposal Generator"
  },
  {
    "id": "wf_def456",
    "name": "Invoice Template"
  }
]
GET/workflows/{id}/fields

Get the template placeholders (input fields) for a workflow.

Request

BASH
curl -X GET "https://plumdocs.com/api/zapier/workflows/WORKFLOW_ID/fields" \
  -H "X-API-Key: YOUR_API_KEY"

Response

JSON
{
  "fields": [
    {
      "key": "client_name",
      "label": "Client Name",
      "type": "string",
      "required": true
    },
    {
      "key": "project",
      "label": "Project",
      "type": "string",
      "required": true
    },
    {
      "key": "amount",
      "label": "Amount",
      "type": "string",
      "required": true
    }
  ]
}
POST/workflows/{id}/run

Generate a document using the workflow template and provided data.

Request

BASH
curl -X POST "https://plumdocs.com/api/zapier/workflows/WORKFLOW_ID/run" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "client_name": "Acme Corp",
    "project": "Website Redesign",
    "amount": "$5,000"
  }'

Response

JSON
{
  "id": "run_xyz789",
  "status": "completed",
  "document": {
    "download_url": "https://...",
    "filename": "Proposal_AcmeCorp.pdf",
    "expires_at": "2025-01-15T12:00:00.000Z"
  },
  "data": {
    "client_name": "Acme Corp",
    "project": "Website Redesign",
    "amount": "$5,000"
  }
}

The download_url is a signed URL valid for 7 days.

GET/triggers/documents

Poll for recently completed documents. Used by Zapier triggers.

Request

BASH
curl -X GET "https://plumdocs.com/api/zapier/triggers/documents?since=2025-01-01T00:00:00Z" \
  -H "X-API-Key: YOUR_API_KEY"

Query Parameters

since (optional) — ISO-8601 timestamp. Returns documents completed after this time. Defaults to last 24 hours.

Response

JSON
[
  {
    "id": "doc_abc123",
    "workflow_id": "wf_xyz789",
    "workflow_name": "Proposal Generator",
    "download_url": "https://...",
    "filename": "Proposal_AcmeCorp.pdf",
    "expires_at": "2025-01-15T12:00:00.000Z",
    "completed_at": "2025-01-08T10:30:00.000Z",
    "data": {
      "client_name": "Acme Corp",
      "project": "Website Redesign"
    }
  }
]

Error Responses

StatusError CodeDescription
401invalid_api_keyAPI key is missing or invalid
403usage_limit_exceededMonthly document limit reached
403google_not_connectedGoogle Drive not connected
404workflow_not_foundWorkflow does not exist
429rate_limit_exceededToo many requests
500generation_failedDocument generation failed

Rate Limits

API requests are limited to 100 requests per minute per API key. If you exceed this limit, you will receive a 429 response.

Support

For questions or issues with the API, contact us at support@plumdocs.com

© 2026 PlumDocs. All rights reserved.