Developer

API

List forms

Paginated list of the booking forms in the workspace, with default flag, linked template ids, and per-form settings.

Updated Sep 30, 2026

Returns the booking forms in the workspace. The default form comes first, then the rest, newest first.

GET/api/v1/forms
Booking forms in the authenticated workspace.

Query parameters

page
integer (default 1)
1-indexed page number.
per_page
integer (default 25)
Items per page. Maximum 100.

Example request

curl https://api.servicereserve.com/api/v1/forms \
-H "Authorization: Bearer $SERVICERESERVE_API_KEY"

Example response

{
"items": [
  {
    "id": "bd28906b-7f9a-4aaf-ab86-85c1a1ccd4f2",
    "name": "Default booking form",
    "is_default": true,
    "locations": "Austin, Round Rock",
    "service_template_id": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
    "service_area_id": "7b8c9d0e-1f2a-4b3c-9d4e-5f6a7b8c9d0e",
    "service_schedule_id": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b",
    "settings_branding": null,
    "settings_contact_form": null,
    "settings_content": null,
    "settings_general": null,
    "created_at": "2025-11-04T19:01:13.000Z",
    "updated_at": "2026-09-12T15:40:02.000Z"
  }
],
"pagination": { "page": 1, "per_page": 25, "total": 1 }
}

Pass a form's id as form_id to List requests, List business profiles, or List abandoned sessions to scope those lists to one form.

Field reference

id
uuid
Form id.
name
string
Form name as shown in the dashboard.
is_default
boolean
true for the workspace's default form.
locations
string | null
Comma-separated titles of the business profiles assigned to the form. A legacy display string; use List business profiles with form_id for structured data.
service_template_id, service_area_id, service_schedule_id
uuid | null
The services, service area, and schedule the form uses. Null until configured.
settings_branding, settings_contact_form, settings_content, settings_general
object | null
Per-form configuration the booking widget reads. Null when the form has no overrides.
created_at, updated_at
ISO 8601 string | null
Row timestamps.

The response also carries a pagination object with page, per_page, and total. The endpoint shares the 1 request per second per key rate limit.

Related