ProForms API Documentation
Everything you need to create, manage, and embed forms programmatically.
Forms
Create and manage forms with fields, themes, and conditions
Submissions
Read, export, and manage form submissions
Sites
Organize forms by website or client
Clients
Group sites by client with contact info and branding
Templates
Browse 200+ templates and create forms from them
Team
Invite members and manage permissions
API Keys
Create and manage API keys for programmatic access
Theme Presets
Save and reuse theme configurations across forms
Uploads
Upload, retrieve, and delete file attachments
Embedding
Embed forms via JavaScript or iframe
Webhooks
Receive submissions from external forms and manage webhook endpoints
Blocked Senders
View and manage blocked spam senders
Authentication
API key auth and permissions reference
MCP
Model Context Protocol for AI agents
Errors
Error codes and rate limit reference
Base URL
All API requests are made to:
https://proforms.io/api/v1Quick Start
Get up and running in 3 steps:
Create an API Key
Go to Dashboard → Settings → API Keysand create a new key. Copy the secret — it's only shown once.
Make Your First Request
List all your forms with a simple GET request:
curl https://proforms.io/api/v1/forms \
-H "Authorization: Bearer pf_your_api_key_here"Get Your Response
All responses are JSON with a consistent format:
{
"success": true,
"data": {
"forms": [
{
"id": "f_abc123",
"name": "Contact Form",
"status": "published",
"submissionCount": 42
}
],
"total": 1,
"page": 1,
"limit": 25
}
}success field. Check this before reading the data payload.Response Format
All successful responses follow this structure:
{
"success": true,
"data": {
"...": "resource data here"
}
}Error responses include an error code and message:
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Form not found"
}
}