API Reference
Complete reference for the Formr REST API. All endpoints require authentication via API keys or session tokens.
Base URL
https://api.formr.xyzAuthentication
Formr supports two authentication methods:
- Session tokens - For dashboard operations, obtained via login
- API keys - For programmatic access
- Publishable keys (pk_live_... or pk_test_...) - Safe for client-side use
- Secret keys (sk_live_... or sk_test_...) - Server-side only
API Endpoints
Forms
Create, read, update, and delete forms. Manage form schemas, fields, and configuration.
- • POST /forms - Create form
- • GET /forms - List forms
- • GET /forms/{id} - Get form
- • PUT /forms/{id} - Update form
- • DELETE /forms/{id} - Delete form
Submissions
Submit form data and retrieve responses. Supports both client-side and server-side submissions.
- • POST /v1/forms/{id}/submissions - Submit form
- • GET /responses - List responses
- • GET /responses?format=csv - Export responses
Webhooks
Configure webhooks to receive real-time notifications for form events.
- • POST /webhooks - Create webhook
- • GET /webhooks - List webhooks
- • PUT /webhooks/{id} - Update webhook
- • DELETE /webhooks/{id} - Delete webhook
Analytics
Get insights into form performance, submission trends, and user behavior.
- • GET /analytics - Environment analytics
- • GET /forms/{id}/analytics - Form analytics
- • GET /analytics/trends - Response trends
- • GET /analytics/dropoffs - Drop-off analysis
Users & Organizations
Manage users, organizations, environments, and team members.
- • POST /users - Create user
- • GET /organizations - List organizations
- • POST /environments - Create environment
- • POST /organizations/{id}/members - Add member
Templates
Create and manage reusable form templates.
- • GET /templates - List templates
- • POST /templates - Create template
File Uploads
Handle file uploads with signed URLs and secure storage.
- • POST /uploads/sign - Get signed upload URL
Integrations
Connect forms with external services like Slack, Google Sheets, and Notion.
- • POST /integrations - Configure integration
Response Format
All API responses are JSON. Successful responses return status codes 200-299. Errors return appropriate HTTP status codes with error details:
{
"error": "Error message",
"message": "Detailed error description"
}