Skip to main content

API Reference

Welcome to the ZeroForms API documentation. This section covers all available endpoints for managing forms, submissions, and webhooks programmatically.

Base URL

All API requests should be made to:
https://api.zeroforms.dev

Authentication

All API requests require authentication using your access key in the x-access-key header:
curl -X GET https://api.zeroforms.dev/api/forms \
  -H "x-access-key: your-access-key"
Always keep your access key secure. Never commit it to version control or expose it in client-side code. Use environment variables instead.

Response Format

All API responses use JSON format. Successful responses return a 2xx status code:
{
  "success": true,
  "data": { ... },
  "message": "Operation successful"
}
Error responses return a 4xx or 5xx status code:
{
  "success": false,
  "error": "error_code",
  "message": "Human-readable error message"
}

Status Codes

CodeMeaning
200OK - Request succeeded
201Created - Resource created successfully
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing access key
403Forbidden - Access denied
404Not Found - Resource not found
429Too Many Requests - Rate limited
500Internal Server Error

Rate Limiting

API requests are rate-limited based on your plan:
  • Free: 100 requests/hour
  • Pro: 10,000 requests/hour
  • Enterprise: Custom limits
Rate limit information is included in response headers:
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9999
X-RateLimit-Reset: 1735689600

API Resources

SDK Libraries

Use official SDKs for easier integration:
npm install zeroforms
import ZeroForms from 'zeroforms';
const client = new ZeroForms('your-access-key');

Common Patterns

Error Handling

try {
  const response = await fetch('https://api.zeroforms.dev/api/forms', {
    headers: { 'x-access-key': 'your-key' }
  });
  
  if (!response.ok) {
    const error = await response.json();
    throw new Error(error.message);
  }
  
  const data = await response.json();
} catch (err) {
  console.error('API Error:', err.message);
}

Pagination

List endpoints support pagination:
curl https://api.zeroforms.dev/api/submissions?page=1&limit=50 \
  -H "x-access-key: your-key"
Response:
{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 150,
    "pages": 3
  }
}

Environments

EnvironmentURL
Productionhttps://api.zeroforms.dev
Staginghttps://staging-api.zeroforms.dev

Need Help?