BillyDocumentation

List forms

Retrieves a paginated list of the form definitions belonging to your Billy organization, newest first. A form describes the questions asked; the answers appear on the resources that collect them — `customer` on an order, `attendee` on a ticket — and join back to `fields[].name`.

Preview release

This operation is only available on the preview release target — send Billy-API-Version: preview to reach it. Preview has no stability promise: its routes and payloads can change without notice, so pin a dated release before you depend on one.
GET
/v1/forms

Retrieves a paginated list of the form definitions belonging to your Billy organization, newest first. A form describes the questions asked; the answers appear on the resources that collect them — customer on an order, attendee on a ticket — and join back to fields[].name.

Authorization

HTTPBearer
AuthorizationBearer <token>

API key authentication. Format: Bearer billy:o:<organization_id>:<api_key>

Example: Bearer billy:o:yyyyyyyyyyyyyyyy:xxxxxxxxxxxxxxxxx

In: header

Query Parameters

page?Page

Page index (1-based, e.g., 1 for first page, 2 for second page)

Range1 <= value
Default1
perPage?|

Maximum number of records to return

Header Parameters

Billy-API-Version*string

Requested API version. Current context: preview.

Default"preview"

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/forms" \  -H "Billy-API-Version: preview"
{  "items": [    {      "formId": "frm_01ABC:org_01ABC:2",      "title": "Attendee details",      "version": 2,      "createdAt": "2025-02-01T09:15:00+00:00",      "fields": [        {          "name": "first-name",          "label": "First name",          "type": "TEXT",          "required": true,          "semanticKey": "FIRST_NAME",          "defaultValue": null,          "config": {            "maxLength": 80,            "placeholder": "Jane",            "multiline": false          }        },        {          "name": "dietary-restrictions",          "label": "Dietary restrictions",          "type": "MULTI_SELECT",          "required": false,          "semanticKey": null,          "defaultValue": null,          "config": {            "options": [              {                "label": "Vegetarian",                "value": "vegetarian"              },              {                "label": "Gluten free",                "value": "gluten-free"              }            ],            "minSelections": 0,            "maxSelections": 2          }        },        {          "name": "arrival-time",          "label": "When will you arrive?",          "type": "DATE",          "required": false,          "semanticKey": null,          "defaultValue": null,          "config": {            "minDate": "2025-06-01",            "maxDate": "2025-06-03"          }        }      ]    }  ],  "page": 1,  "perPage": 20,  "totalPages": 1}