curl -X GET "https://api.formflow.io/v2/submissions?form_id=ff_8a9b2c&limit=10" \
-H "Authorization: Bearer sk_live_9x7z4m2p1q" \
-H "Content-Type: application/json"
API Reference - FormFlow Docs
Deploy complex forms instantly
Open API Sandbox Read Integration GuidesEndpoints
Manage form structures, retrieve submission payloads, and configure webhook routing through our RESTful interface. The base URL is https://api.formflow.io/v2.
/forms
Create a new form schema. Accepts JSON payloads defining fields, validation rules, and branching logic. Returns a unique form_id and public embed URL.
/submissions
Fetch completed form responses. Supports pagination (limit, offset), date filtering (created_after), and field-specific queries. Max response size: 500 entries per call.
/webhooks
Register event listeners for submission.created, submission.updated, and form.published. FormFlow retries failed deliveries up to 5 times with exponential backoff.
Authentication
Secure your requests using Bearer tokens issued from your FormFlow dashboard. All API calls require HTTPS and must include your organization ID as a query parameter.
Authorization
Include Authorization: Bearer <YOUR_API_KEY> in every request. Keys are scoped to either read or admin privileges. Rotate keys monthly via Settings > API Access.
Request Throttling
Standard plans allow 1,200 requests per hour. Enterprise accounts scale to 50,000 requests per hour. Exceeding limits returns a 429 Too Many Requests response with a Retry-After header.
Examples
Copy-paste ready snippets to validate your integration. All examples target the us-east-1 region endpoint.
Retrieve Form Submissions
Create Form via Requests
import requests
url = "https://api.formflow.io/v2/forms"
headers = {
"Authorization": "Bearer sk_live_9x7z4m2p1q",
"Content-Type": "application/json"
}
payload = {
"title": "Q3 Vendor Compliance Audit",
"fields": [
{"type": "text", "key": "company_name", "required": True},
{"type": "select", "key": "compliance_status", "options": ["Pending", "Approved", "Rejected"]}
],
"redirect_url": "https://vendor-portal.example.io/thank-you"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())