API Documentation
Integrate Mind the Booth with thousands of external apps via our Zapier-compatible REST API. Use API keys for authentication and automate your business workflows.
All API requests must include your API key in the X-API-Key header.
X-API-Key: lr_live_your_api_key_here
Generate an API key from your Profile → API Keys section.
For Zapier integration, leave the Allowed Domains field empty when creating your API key.
https://mindthebooth-eqek1dgx.on-forge.com/api/zapier
GET /api/zapier/me
Verify your API key works. Returns your user info.
Response 200
{
"id": 1,
"name": "Jane Maker",
"email": "[email protected]",
"farm_name": "Cold Creek Soap Co."
}
Subscribe to events and receive real-time webhook notifications when things happen in your business.
Available Events
| Event Key | Fires When |
|---|---|
task.created | New task created |
task.completed | Task marked complete |
transaction.created | New income or expense logged |
invoice.paid | An invoice is paid in full |
POST /api/zapier/subscribe
Subscribe to an event. The target_url will receive POST requests when the event fires.
Request Body
{
"target_url": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
"event": "invoice.paid"
}
Response 201
{
"id": 42
}
DELETE /api/zapier/subscribe/{id}
Remove a webhook subscription.
Response 204 No Content
GET /api/zapier/triggers/{event}
Returns recent items for the given event type, or sample data if no real data exists. Used by Zapier for deduplication and the Zap editor preview.
Response 200
[
{
"id": 1,
"event": "invoice.paid",
"invoice_number": "INV-2026-0001",
"buyer_name": "Jane Smith",
"status": "paid",
...
}
]
Create data in Mind the Booth from external apps and automations.
POST /api/zapier/actions/tasks
Create a task.
Request Body
{
"title": "Make a batch of lavender soap",
"type": "make",
"due_date": "2026-03-01",
"priority": "high",
"description": "For the Saturday market"
}
Response 201
{
"id": 15,
"title": "Make a batch of lavender soap",
"type": "make",
"due_date": "2026-03-01",
"priority": "high",
"status": "pending",
...
}
POST /api/zapier/actions/transactions
Log an income or expense transaction.
Request Body
{
"type": "income",
"amount": 500.00,
"transaction_category_id": 3,
"transaction_date": "2026-02-27",
"description": "Saturday market sales",
"payee_payer": "John Doe",
"notes": "Cash payment"
}
Response 201
{
"id": 22,
"type": "income",
"amount": 500.00,
"description": "Saturday market sales",
...
}
These endpoints return dynamic dropdown values for building Zapier integrations.
| Method | Endpoint | Returns |
|---|---|---|
| GET | /api/zapier/event-types |
Available trigger event types |
| GET | /api/zapier/task-types |
Available task types |
| GET | /api/zapier/categories |
Your transaction categories |
| Status | Meaning |
|---|---|
401 | Missing or invalid API key |
403 | Zapier not enabled for your account, or free plan restriction |
404 | Resource not found |
422 | Validation error (check response body for details) |
503 | Zapier integration is globally disabled |
All error responses include an "error" field with a human-readable message.
- Zapier integration needs to be switched on for your account.
- Your account admin must enable Zapier integration in Admin Settings.
- API keys used for Zapier should have the Allowed Domains field left empty.