API reference
Integration guide for Zapier and other platforms — authentication, endpoints, and webhook payloads.
The Dashform API lets you read forms and replies and subscribe to new-submission events from Zapier and other platforms.
Authentication
Dashform uses OAuth 2.0 for authentication. All API requests must include a valid access token:
Authorization: Bearer YOUR_ACCESS_TOKENOAuth endpoints
GET /api/oauth/authorize— authorization pagePOST /api/oauth/token— exchange code for token
Get current user
GET /api/v1/meReturns information about the authenticated user.
{
"id": "user_123",
"name": "John Doe",
"email": "john@example.com"
}List forms
GET /api/v1/formsReturns a list of forms owned by the authenticated user.
[
{
"id": "form_123",
"name": "Contact Form",
"description": "Main contact form"
}
]Webhooks (REST hooks)
Subscribe
POST /api/webhooks/zapier/subscribeSubscribe to form reply events.
Request body:
{
"target_url": "https://hooks.zapier.com/...",
"form_id": "form_123",
"subscription_id": "sub_123"
}form_id and subscription_id are optional — omit form_id to subscribe to
replies across every form.
Response:
{
"id": "hook_123",
"status": "subscribed"
}Unsubscribe
DELETE /api/v1/hooks/unsubscribe/:idUnsubscribe from webhook notifications.
{
"success": true,
"message": "Hook deleted successfully"
}List hooks
GET /api/v1/hooksList all active webhook subscriptions.
[
{
"id": "hook_123",
"form_id": "form_123",
"target_url": "https://hooks.zapier.com/...",
"status": "active"
}
]Triggers
GET /api/v1/triggers/new-submissionGet recent form replies for testing triggers. Returns the 3 most recent replies.
Query parameters:
form_id— optional: filter by a specific form
[
{
"id": "reply_123",
"form_id": "form_123",
"form_name": "Contact Form",
"data": {
"name": "John Doe",
"email": "john@example.com"
},
"created_at": "2025-01-01T12:00:00Z"
}
]Webhook payload
When a new form reply is received, Dashform sends a POST request to your
webhook URL with the following payload:
{
"id": "reply_123",
"form_id": "form_123",
"form_name": "Contact Form",
"data": {
"name": "John Doe",
"email": "john@example.com",
"message": "Hello!"
},
"created_at": "2025-01-01T12:00:00Z"
}