REST API
Programmatic access to forms, submissions, and bookings on the ingest service.
Base URL
All API requests are made to http://localhost:3001. The API uses JSON for request and response bodies and standard HTTP status codes.
List forms
Returns all forms for the authenticated organization, including field schemas and submission counts. Requires an API key with read access.
GET /api/v1/forms
Authorization: Bearer rc_live_...Create a submission
Submit data to a form programmatically. Use the org slug and form slug for public embed-style submissions, or the form API UUID with a Bearer token for server-side integrations.
POST /api/v1/forms/{orgSlug}/{formSlug}/submit
Content-Type: application/json
{
"name": "John Doe",
"email": "[email protected]",
"message": "Enterprise inquiry"
}POST /api/v1/forms/{apiUuid}/submit
Authorization: Bearer rc_live_...
Content-Type: application/json
{
"name": "John Doe",
"email": "[email protected]",
"message": "Enterprise inquiry"
}List bookings
Retrieve scheduled appointments with optional filters for status, date range, and event type. Requires Pro scheduling and API keys.
GET /api/v1/bookings?status=confirmed&limit=25
Authorization: Bearer rc_live_...Scheduling
Public scheduling endpoints power embed widgets. Availability returns open slots for the next 14 days. Booking creates a confirmed appointment.
GET /api/v1/schedule/{orgSlug}/{eventSlug}/availabilityPOST /api/v1/schedule/{orgSlug}/{eventSlug}/book
Content-Type: application/json
{
"attendeeName": "John Doe",
"attendeeEmail": "[email protected]",
"startTime": "2026-09-01T10:00:00.000Z",
"endTime": "2026-09-01T10:30:00.000Z",
"timezone": "Europe/Berlin"
}Rate limits
- Form submissions: 30 requests per minute per IP and org slug.
- API UUID submissions: 40 requests per minute per IP.
- Bookings: 15 requests per minute per IP and org slug.
- Authenticated list endpoints: 60 requests per minute per organization.
- 429 responses may include a Retry-After header.
Errors
Errors return a JSON object with an error field. Common status codes include 400 for validation errors, 401 for invalid API keys, 404 for missing resources, 409 for booking conflicts, and 429 for rate limiting.