REST API v1 Reference, Developer API Keys & Static Embed Tokens
Programmatically provision form endpoints, update schemas, and query filtered submissions using REST API v1 (/api/v1/*) with ff_live_ Server API Keys.
- Pass your ff_live_... Server API Key via the X-API-Key header or Authorization: Bearer ff_live_... header.
- Use 1-form-locked ff_pub_... Public Static Tokens in client-side or AI-generated frontends to safely submit to POST /api/v1/submit.
- Query paginated submissions with status filtering via GET /api/v1/forms/:id/submissions?status=new&limit=50.
- Check service health and API latency anytime at GET /api/v1/status.
1. REST API v1 Endpoint Reference
All REST API v1 endpoints return UTF-8 JSON with a top-level success boolean.
| Method | Endpoint Path | Authentication | Description |
|---|---|---|---|
| POST | /f/:formId | Public + CORS Shield | Primary form ingestion endpoint (HTML, JSON, Multipart) |
| POST | /api/v1/submit | ff_live_ or ff_pub_ | Auto-provisioning ingestion endpoint for AI & static apps |
| GET | /api/v1/forms | X-API-Key / Bearer (ff_live_) | List all form endpoints, schemas, and submission counts |
| POST | /api/v1/forms | X-API-Key / Bearer (ff_live_) | Programmatically create a new form endpoint and schema |
| GET | /api/v1/forms/:id | X-API-Key / Bearer (ff_live_) | Retrieve a single form schema, steps, theme, and settings |
| PATCH | /api/v1/forms/:id | X-API-Key / Bearer (ff_live_) | Update form fields, steps, CORS domains, or webhook settings |
| GET | /api/v1/forms/:id/submissions | X-API-Key / Bearer (ff_live_) | Query submissions (supports ?status=new&limit=50) |
| GET | /api/v1/status | Public | Service availability, storage node health, and API uptime check |
2. Querying Submissions & Creating Forms via REST API v1
Generate an ff_live_ API key in your Developer Console to integrate FormFork with your backend services, analytics pipelines, or CLI workflows.
curl -X GET "https://formfork.io/api/v1/forms/form-contact-demo/submissions?status=new&limit=25" \
-H "X-API-Key: ff_live_your_secret_api_key" \
-H "Accept: application/json"curl -X POST "https://formfork.io/api/v1/submit" \
-H "Content-Type: application/json" \
-H "X-API-Key: ff_pub_your_single_form_public_token" \
-d '{
"formName": "SaaS Early Access Waitlist",
"email": "founder@startup.io",
"company": "Startup Labs",
"team_size": "10-50"
}'Frequently Asked Technical Questions
What is the difference between ff_live_ Server API Keys and ff_pub_ Public Tokens?
ff_live_ keys are full server-side credentials that can list, create, modify, and read submissions across all forms in your account. ff_pub_ tokens are write-only public embed tokens locked to a single form so they can be safely embedded in client-side JavaScript or AI-generated static sites.
Can I pass the API key as a Bearer token instead of X-API-Key?
Yes. Both X-API-Key: ff_live_... and Authorization: Bearer ff_live_... are supported across all /api/v1/* routes.