API Reference

API Reference

Complete REST API documentation for processa.

Authentication

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

Authorization: Bearer prc_your_api_key_here

Base URL

https://api.getprocessa.com/v1

Drafts

POST/drafts

Create a new draft for approval.

Request Body

{
  "title": "string (required)",
  "content": object (required),
  "metadata": object (optional)
}

Response

{
  "id": "cmlgx2hvq0002k6gve9fuaz0k",
  "title": "Send welcome email",
  "status": "PENDING",
  "content": {...},
  "createdAt": "2026-02-10T12:00:00Z"
}
GET/drafts

List all drafts with optional filtering.

Query Parameters

?status=PENDING|APPROVED|REJECTED|ARCHIVED
?limit=50
?offset=0

Response

{
  "drafts": [...],
  "total": 100,
  "limit": 50,
  "offset": 0
}
GET/drafts/:id

Get a single draft by ID.

Response

{
  "id": "cmlgx2hvq0002k6gve9fuaz0k",
  "title": "Send welcome email",
  "status": "PENDING",
  "content": {...},
  "metadata": {...},
  "createdAt": "2026-02-10T12:00:00Z",
  "updatedAt": "2026-02-10T12:00:00Z"
}
POST/drafts/:id/approve

Approve a draft and trigger webhook.

Response

{
  "id": "cmlgx2hvq0002k6gve9fuaz0k",
  "status": "APPROVED",
  "reviewedAt": "2026-02-10T12:05:00Z"
}
POST/drafts/:id/reject

Reject a draft with optional reason.

Request Body

{
  "reason": "string (optional)"
}

Response

{
  "id": "cmlgx2hvq0002k6gve9fuaz0k",
  "status": "REJECTED",
  "rejectionReason": "Content violates policy",
  "reviewedAt": "2026-02-10T12:05:00Z"
}

Webhooks

POST/webhooks

Create a new webhook endpoint.

Request Body

{
  "url": "https://your-app.com/webhooks/processa"
}
GET/webhooks

List all configured webhooks.

DELETE/webhooks/:id

Delete a webhook endpoint.

Error Responses

All errors return a consistent JSON format:

{
  "error": "Error message here",
  "code": "ERROR_CODE"
}

Common Status Codes

200Success
400Bad Request - Invalid input
401Unauthorized - Invalid API key
404Not Found - Resource doesn't exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Rate Limits

Free Plan100 requests/month
Pro Plan1,000 requests/month
Business Plan10,000 requests/month