Download OpenAPI specification:
RESTful API for managing forms and folders in FormRobin.
API requests are rate limited. Please refer to the response headers for current limits.
Get a paginated list of forms for the authenticated user. Returns 100 items per page.
{- "data": [
- {
- "id": 1,
- "name": "Contact Form",
- "folder_id": 5,
- "email_notifications_enabled": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "links": {
- "first": "string",
- "last": "string",
- "prev": "string",
- "next": "string"
}, - "meta": {
- "current_page": 0,
- "from": 0,
- "last_page": 0,
- "path": "string",
- "per_page": 0,
- "to": 0,
- "total": 0
}
}Create a new form
| name required | string <= 255 characters |
| folder_id | integer or null |
| data | object Form configuration data |
| email_notifications_enabled | boolean Default: true |
| redirect_url | string or null <uri> URL to redirect to after form submission |
| webhook_url | string or null <uri> Webhook URL to POST form submissions to |
{- "name": "New Contact Form",
- "folder_id": 5,
- "data": { },
- "email_notifications_enabled": true,
}{- "id": 1,
- "name": "Contact Form",
- "folder_id": 5,
- "email_notifications_enabled": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Get a specific form by ID
| id required | integer Form ID |
{- "id": 1,
- "name": "Contact Form",
- "folder_id": 5,
- "email_notifications_enabled": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Update a specific form
| id required | integer Form ID |
| name | string <= 255 characters |
| folder_id | integer or null |
| data | object |
| email_notifications_enabled | boolean |
| redirect_url | string or null <uri> URL to redirect to after form submission |
| webhook_url | string or null <uri> Webhook URL to POST form submissions to |
{- "name": "string",
- "folder_id": 0,
- "data": { },
- "email_notifications_enabled": true,
}{- "id": 1,
- "name": "Contact Form",
- "folder_id": 5,
- "email_notifications_enabled": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Get responses/sessions for a specific form. Returns 100 items per page.
Ordering behavior:
completed=true: Results ordered by completed_at DESC (most recently completed first)completed is not set: Results ordered by id DESC (most recently created first)This ordering ensures Zapier and other polling integrations receive new records reliably.
| id required | integer Form ID |
| completed | boolean Filter by completion status. When true, returns only completed sessions ordered by |
{- "data": [
- {
- "id": 1,
- "form_id": 1,
- "form_field_responses": [
- {
- "id": 0,
- "form_session_id": 0,
- "form_field_id": 0,
- "form_field_label": "string",
- "value": "string"
}
], - "completed_at": "2019-08-24T14:15:22Z",
- "utm_source": "string",
- "utm_medium": "string",
- "utm_campaign": "string",
- "utm_term": "string",
- "utm_content": "string",
- "referrer_url": "string",
- "landing_page_url": "string",
- "device_type": "string",
- "browser_name": "string",
- "browser_version": "string",
- "operating_system": "string",
- "ip_address": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "links": {
- "first": "string",
- "last": "string",
- "prev": "string",
- "next": "string"
}, - "meta": {
- "current_page": 0,
- "from": 0,
- "last_page": 0,
- "path": "string",
- "per_page": 0,
- "to": 0,
- "total": 0
}
}