Event Registration Forms
The Event Registration Forms API allows you to create, retrieve, update, and delete registration forms for events. These forms define the fields that users need to complete when registering for an event.
Authentication
All requests to the Event Registration Forms API must be authenticated using the ONLIVE.SITE authentication scheme. Please refer to the Authentication Guide for detailed instructions.
Base URL
https://openapi.onlive.site/api/v1/event-registration-forms
Endpoints
- Create Registration Form
- Get Registration Form
- Update Registration Form
- Search Registration Forms
- Delete Registration Form
Create Registration Form
Creates a new event registration form with custom fields.
HTTP Request
POST /api/v1/event-registration-forms
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name of the registration form (max 255 characters) |
description | string | No | The description of the registration form |
fields | array of objects | Yes | The form fields configuration |
CreateEventFieldDto
Each field in the fields array should follow the CreateEventFieldDto structure:
| Property | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The unique name of the field |
description | string | No | An optional description for the field |
fieldType | string | Yes | The data type of the field. Options: boolean, text, number, date, time, datetime, object, email, phone, url, firstName, lastName |
FieldComponent | string | Yes | The HTML element to use. Options: input, textarea, select, checkbox, switch, radio |
isMultiSelect | boolean | No | Indicates if the field allows multiple selections (applicable to select, checkbox, radio) |
fieldOptions | array of FieldOption | No | Options for selection-based fields (select, radio, checkbox) |
required | boolean | No | Indicates if this field is required for submission |
isFilterable | boolean | No | Indicates if this field can be used as a filter in queries |
isSearchable | boolean | No | Indicates if the content of this field is searchable |
isSortable | boolean | No | Indicates if lists can be sorted by this field |
isPubliclyVisible | boolean | No | Indicates if the field is publicly visible |
viewPermissions | array of strings | No | Roles that can view this field. Options: read, write |
editPermissions | array of strings | No | Roles that can edit this field. Options: read, write |
FieldOption Object
| Property | Type | Required | Description |
|---|---|---|---|
value | string | Yes | The value of the option that will be stored |
label | string | Yes | The human-readable label for the option |
Example Request Body
{
"name": "Conference Registration Form",
"description": "Registration form for annual tech conference",
"fields": [
{
"name": "firstName",
"description": "First Name",
"fieldType": "firstName",
"FieldComponent": "input",
"required": true,
"isSearchable": true
},
{
"name": "lastName",
"description": "Last Name",
"fieldType": "lastName",
"FieldComponent": "input",
"required": true,
"isSearchable": true
},
{
"name": "email",
"description": "Email Address",
"fieldType": "email",
"FieldComponent": "input",
"required": true,
"isSearchable": true
},
{
"name": "company",
"description": "Company Name",
"fieldType": "text",
"FieldComponent": "input",
"required": false,
"isSearchable": true,
"isFilterable": true
},
{
"name": "role",
"description": "Job Role",
"fieldType": "text",
"FieldComponent": "select",
"required": true,
"isFilterable": true,
"fieldOptions": [
{ "value": "developer", "label": "Developer" },
{ "value": "designer", "label": "Designer" },
{ "value": "manager", "label": "Manager" },
{ "value": "other", "label": "Other" }
]
},
{
"name": "dietaryRestrictions",
"description": "Dietary Restrictions",
"fieldType": "text",
"FieldComponent": "textarea",
"required": false
},
{
"name": "attendWorkshops",
"description": "Attend Workshops",
"fieldType": "boolean",
"FieldComponent": "checkbox",
"required": false
}
]
}
Response
Returns the created EventRegistrationForm object.
Example Response
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Conference Registration Form",
"description": "Registration form for annual tech conference",
"fields": [
{
"name": "firstName",
"description": "First Name",
"fieldType": "firstName",
"FieldComponent": "input",
"required": true,
"isSearchable": true
},
{
"name": "email",
"description": "Email Address",
"fieldType": "email",
"FieldComponent": "input",
"required": true,
"isSearchable": true
}
],
"createdAt": "2025-10-12T10:30:00.000Z",
"updatedAt": "2025-10-12T10:30:00.000Z"
}
Get Registration Form
Retrieves a specific event registration form by its ID.
HTTP Request
GET /api/v1/event-registration-forms/{id}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The unique identifier of the registration form |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
withTrashed | boolean | No | Include trashed registration forms |
Response
Returns the EventRegistrationForm object.
Update Registration Form
Updates an existing event registration form.
HTTP Request
PUT /api/v1/event-registration-forms/{id}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The unique identifier of the registration form |
Request Body
All fields are optional. Only the fields you want to update need to be included. The structure is the same as the Create Registration Form request.
Example Request Body
{
"name": "Updated Conference Registration Form",
"fields": [
{
"name": "firstName",
"description": "First Name",
"fieldType": "firstName",
"FieldComponent": "input",
"required": true
},
{
"name": "email",
"description": "Email Address",
"fieldType": "email",
"FieldComponent": "input",
"required": true
},
{
"name": "phoneNumber",
"description": "Phone Number",
"fieldType": "phone",
"FieldComponent": "input",
"required": false
}
]
}
Response
Returns the updated EventRegistrationForm object.
Search Registration Forms
Retrieves a paginated list of event registration forms based on query parameters.
HTTP Request
GET /api/v1/event-registration-forms
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Maximum number of items to return (default: 10, min: 1) |
page | number | No | Page number (starts at 1, default: 1, min: 1) |
sort | string | No | Field name and direction to sort results by. Use "ASC" or "DESC". (default: "createdAt DESC") |
withTrashed | boolean | No | Include soft-deleted registration forms in the results |
Example Request
GET /api/v1/event-registration-forms?search=Conference&page=1&limit=20
Response
Returns a paginated response with an array of EventRegistrationForm objects.
Example Response
{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Conference Registration Form",
"description": "Registration form for annual tech conference",
"fields": [
{
"name": "firstName",
"type": "text",
"required": true
}
],
"createdAt": "2025-10-12T10:30:00.000Z",
"updatedAt": "2025-10-12T10:30:00.000Z"
}
],
"meta": {
"total": 1,
"page": 1,
"limit": 20,
"totalPages": 1
}
}
Delete Registration Form
Deletes an event registration form by its ID.
HTTP Request
DELETE /api/v1/event-registration-forms/{id}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The unique identifier of the registration form |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
withTrashed | boolean | No | Include trashed registration forms |
Response
Returns the deleted EventRegistrationForm object.
EventRegistrationForm Object
The EventRegistrationForm object represents a form definition for event registration.
Properties
| Property | Type | Description |
|---|---|---|
id | string (uuid) | The unique identifier of the registration form |
name | string | The name of the registration form |
description | string | The description of the registration form |
fields | array | The form fields configuration |
organization | object | The organization associated with the event registration form |
createdAt | string (ISO 8601) | The date and time when the form was created |
updatedAt | string (ISO 8601) | The date and time when the form was last updated |
deletedAt | string (ISO 8601) | The deletion date of the registration form (if deleted) |
Field Types
The following field types are supported:
boolean- Boolean value (true/false)text- Text stringnumber- Numeric valuedate- Date valuetime- Time valuedatetime- Date and time valueobject- JSON objectemail- Email addressphone- Phone numberurl- URLfirstName- First name (specialized text field)lastName- Last name (specialized text field)
Field Components
The following field components are supported:
input- Standard input fieldtextarea- Multi-line text areaselect- Dropdown selectioncheckbox- Checkboxswitch- Toggle switchradio- Radio button group