API · Custom checkout fields
Custom checkout fields are extra questions you can ask buyers during checkout. They support four field types (text, textarea, select, checkbox) and two scopes:
order— answered once for the whole order. Used for buyer-level questions (dietary preferences, billing notes).attendee— answered once per ticket in the order. Used for per-attendee questions (attendee name, t-shirt size).
Answers are emitted on order webhooks and on the JSON order representation. See the webhooks doc for the answer format.
Custom fields aren’t returned from a top-level list endpoint — they’re embedded in the event show response and can be created, updated, or deleted via the endpoints below.
POST /admin/events/:slug/custom_fields
Creates a new custom field on the event.
curl -X POST \
-H "Authorization: Bearer your-token-here" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"label": "T-shirt size", "field_type": "select", "per": "attendee", "required": true, "options_text": "S\nM\nL\nXL"}' \
https://app.usetix.io/admin/events/spring-showcase/custom_fields
Body parameters:
| Field | Required | Notes |
|---|---|---|
label |
yes | The question shown to the buyer. |
field_type |
yes | text, textarea, select, or checkbox. |
per |
yes | order or attendee. |
help_text |
no | Optional clarifying text shown under the label. |
required |
no | true to require an answer at checkout. Defaults to false. |
options_text |
conditional | Required for field_type: select. Newline-separated list of options ("Small\nMedium\nLarge"). |
Response: 201 Created with the custom field JSON.
PATCH /admin/events/:slug/custom_fields/:id
Updates a custom field. Send only the fields you want to change.
curl -X PATCH \
-H "Authorization: Bearer your-token-here" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"required": false}' \
https://app.usetix.io/admin/events/spring-showcase/custom_fields/43
Response: 200 OK with the updated custom field JSON.
DELETE /admin/events/:slug/custom_fields/:id
Deletes a custom field. Existing order answers for this field remain stored in our database, but stop appearing in the order JSON and webhook payloads going forward — see webhooks → custom field answers.
curl -X DELETE \
-H "Authorization: Bearer your-token-here" \
-H "Accept: application/json" \
https://app.usetix.io/admin/events/spring-showcase/custom_fields/43
Response: 204 No Content.
Custom field fields
| Field | Type | Notes |
|---|---|---|
id |
integer | Internal numeric ID. Path parameter. Stable; safe to use as a key in your integration. |
label |
string | The question. |
help_text |
string | null | Optional clarifying text. |
field_type |
string | text, textarea, select, or checkbox. |
per |
string | order or attendee. |
required |
boolean | true if the buyer must answer. |
options |
array | For select fields, the list of options as an array of strings. Empty array for non-select fields. |
position |
integer | Display order at checkout (low to high). Reordering must be done via the admin dashboard. |