Skip to main content
The Signup Fields API lets you define custom form fields that appear on an event’s registration form. Each field belongs to a specific event and is identified by a fieldKey that is unique within that event. Fields support multiple input types controlled by the FieldType enum, and you can provide options, defaults, and i18n data as arbitrary JSON objects. GET endpoints are public. Creating or updating fields requires a CRUD+ role.

Signup field object

string (UUID)
required
Unique identifier for the signup field.
string (UUID)
required
UUID of the event this field belongs to.
string
required
Name of the event this field belongs to.
string
required
Machine-readable key unique within the event (max 120 characters). Use this key when reading submitted form data.
string
required
Human-readable label displayed on the registration form.
string
Optional helper text displayed below the field label.
string
required
Input type. One of the FieldType enum values — see the table below.
boolean
required
Whether the field must be filled in before the form can be submitted.
number
Display order of the field within the form. Lower values appear first. null if unset.
object
JSON object or array defining selectable options (used primarily with SELECT). null if not applicable.
object
JSON value representing the field’s default value. null if not set.
object
JSON object containing localised label and description strings keyed by locale code. null if not set.
string (ISO 8601)
Timestamp when the field was created.
string (ISO 8601)
Timestamp of the most recent update.

FieldType values


List signup fields

Public endpoint — no authentication required.
Returns all signup fields across all events as an unordered list.
Example request
cURL
Example response
200

List signup fields (paged)

Public endpoint — no authentication required.
Returns signup fields in a paginated response. Default page size is 20, sorted by sortOrder.
Query parameters
number
default:"0"
Zero-based page index.
number
default:"20"
Number of items per page.
string
default:"sortOrder"
Field and direction, e.g. sortOrder,asc.
Example request
cURL

Get a signup field

Public endpoint — no authentication required.
Returns a single signup field by its UUID.
Path parameters
string (UUID)
required
The UUID of the signup field to retrieve.
Example request
cURL

Create a signup field

Requires CRUD+ role.
Creates a new custom field for an event. Returns 201 Created with a Location header.
Request body
string (UUID)
required
UUID of the event this field belongs to.
string
required
Machine-readable key (max 120 characters). Must be unique within the event.
string
required
Display label for the field on the registration form.
string
Optional helper text displayed below the label.
string
FieldType enum value. Defaults to TEXT if omitted.
boolean
Whether the field is mandatory. Defaults to false.
number
Display position within the form. Lower values appear first.
object
Options for SELECT fields as a JSON array of choice objects. Pass null or omit for other types.
object
Default value for the field as a JSON value. Pass null or omit if there is no default.
object
Localisation data as a JSON object keyed by locale code, e.g. {"de": {"label": "Discord-Name"}}. Pass null or omit if not needed.
Example request — plain text field
cURL
Example request — select field with options
cURL

Update a signup field

Requires CRUD+ role.
Partially updates an existing signup field. Only the fields you include are changed.
Path parameters
string (UUID)
required
The UUID of the signup field to update.
Request body
string (UUID)
UUID of the new parent event, if reassigning.
string
New machine-readable key (max 120 characters).
string
New display label.
string
New helper text.
string
New FieldType value.
boolean
Update whether the field is mandatory.
number
New display position within the form.
object
Replacement options JSON for SELECT fields.
object
Replacement default value JSON.
object
Replacement localisation JSON.
Example request
cURL
Example response
200