Events API Reference
List Events
Retrieve a paginated list of events. Requires admin permissions.
HTTP Request
GET /v1/events
Query Parameters
Pass as query string parameters in the URL.
| Parameter | Type | Description |
|---|---|---|
| status | string | Filter by status (active, draft, deleted) |
| page | integer | Page number for pagination (default: 1) |
| per_page | integer | Number of items per page (default: 15, max: 100) |
| sort_order | string | Sort events by start time: "asc" (oldest first, default) or "desc" (newest first) |
cURL Example
curl -X GET "https://api.eventstaffapp.com/v1/events?page=1&per_page=10&status=active&sort_order=desc" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"
Response Fields (each event in data.data)
| Field | Type | Description |
|---|---|---|
| uuid | string | Event UUID |
| resource_id | string | External resource identifier |
| title | string | Event title |
| description | string | Event description |
| private_notes | string | Internal admin notes |
| dress_code | string | Dress code |
| start_date_time | string | Start date/time (Y-m-d H:i:s) |
| start_time_tbd | string | "true" or "false" |
| end_date_time | string | End date/time (Y-m-d H:i:s) |
| end_time_tbd | string | "true" or "false" |
| address | string | Street address |
| address_line_2 | string | Address line 2 |
| room | string | Room or location |
| city | string | City |
| state | string | State |
| zip | string | ZIP code |
| latitude | string | Latitude (e.g. from map) |
| longitude | string | Longitude (e.g. from map) |
| status | string | "active" or "canceled" |
| created_at | string | Created at in UTC (Y-m-d H:i:s) |
| modified_at | string | Last modified in UTC (Y-m-d H:i:s) |
| call_times | array | Array of call times for the event (see Get Single Event for field details) |
| work_shifts | array | Array of active work shifts for the event (see Work Shifts fields below) |
| custom_fields | array | Array of custom field values for the event (see Custom Fields below) |
Work Shift Fields (each item in work_shifts)
| Field | Type | Description |
|---|---|---|
| uuid | string | Work shift UUID |
| position | string | Position title (e.g., "Brand Ambassador") |
| first_name | string | Staff member's first name |
| last_name | string | Staff member's last name |
| start_time | string | Scheduled start time (Y-m-d H:i:s), null if TBD |
| start_time_tbd | string | "true" or "false" |
| end_time | string | Scheduled end time (Y-m-d H:i:s), null if TBD |
| end_time_tbd | string | "true" or "false" |
| pay_rate | float | Pay rate in USD, null if using position default |
| confirmed | string | "yes" or "no" |
| status | string | Shift status (only "active" shifts are included) |
| created_at | string | Created at in UTC (Y-m-d H:i:s) |
| modified_at | string | Last modified in UTC (Y-m-d H:i:s) |
Custom Field Fields (each item in custom_fields)
Custom fields are additional form fields configured per business for event creation/editing. Field types include single-line text, multi-line text, and dropdown select.
| Field | Type | Description |
|---|---|---|
| field_uuid | string | UUID of the custom field definition |
| field_name | string | Display name of the custom field |
| field_value | string | The value set for this field on the event |
Example Response
{
"success": true,
"data": {
"current_page": 1,
"data": [
{
"uuid": "0c663c18-34b9-4d63-9caf-b6075b37607b",
"resource_id": "32387823",
"title": "Beach Wedding Reception",
"description": "Elegant beach wedding reception for 150 guests",
"private_notes": "Private notes for internal use by admins",
"dress_code": "Black pants, white shirt, black tie",
"start_date_time": "2026-06-15 18:00:00",
"start_time_tbd": "false",
"end_date_time": "2026-06-15 23:00:00",
"end_time_tbd": "false",
"address": "123 Pacific Coast Highway",
"address_line_2": "Suite 100",
"room": "Grand Ballroom",
"city": "Malibu",
"state": "CA",
"zip": "90265",
"latitude": "34.0259",
"longitude": "-118.7798",
"status": "active",
"created_at": "2026-01-10 22:30:00",
"modified_at": "2026-02-01 17:15:00",
"call_times": [
{
"uuid": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
"position": "Brand Ambassador",
"staff_needed_count": 5,
"start_time": "2026-06-15 17:00:00",
"start_time_tbd": "false",
"end_time": "2026-06-16 00:00:00",
"end_time_tbd": "false",
"notes_for_staff": "Please arrive 15 minutes early",
"payrate_unit": "Hour",
"payrate": 25.00,
"dress_code": "Black suit"
}
],
"work_shifts": [
{
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"position": "Brand Ambassador",
"first_name": "Jane",
"last_name": "Smith",
"start_time": "2026-06-15 17:00:00",
"start_time_tbd": "false",
"end_time": "2026-06-15 23:00:00",
"end_time_tbd": "false",
"pay_rate": 25.00,
"confirmed": "yes",
"status": "active",
"created_at": "2026-05-01 17:30:00",
"modified_at": "2026-05-10 21:15:00"
}
],
"custom_fields": [
{
"field_uuid": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"field_name": "Event Type",
"field_value": "Club Vibes"
},
{
"field_uuid": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"field_name": "Special Instructions",
"field_value": "Set up by 4pm"
}
]
}
],
"per_page": 10,
"total": 1,
"last_page": 1
},
"message": ""
}
Get Single Event
Retrieve details of a specific event including call times and active work shifts. Requires admin permissions.
HTTP Request
GET /v1/events/{uuid}
URL Parameters
| Parameter | Type | Description |
|---|---|---|
| uuid | string | The UUID of the event |
cURL Example
curl -X GET https://api.eventstaffapp.com/v1/events/0c663c18-34b9-4d63-9caf-b6075b37607b \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"
Example Response
{
"success": true,
"data": {
"event": {
"id": 199393,
"uuid": "0c663c18-34b9-4d63-9caf-b6075b37607b",
"title": "Beach Wedding Reception",
"start_time": "2024-06-15 18:00:00",
"end_time": "2024-06-15 23:00:00",
"timezone": "America/Los_Angeles",
"venue_name": "Malibu Beach Resort",
"address": "123 Pacific Coast Highway",
"city": "Malibu",
"state": "CA",
"zip": "90265",
"description": "Elegant beach wedding reception for 150 guests",
"dress_code": "Cocktail attire",
"status": "active"
},
"call_times": [
{
"uuid": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
"position": "Brand Ambassador",
"staff_needed_count": 5,
"start_time": "2024-06-15 17:00:00",
"start_time_tbd": "false",
"end_time": "2024-06-16 00:00:00",
"end_time_tbd": "false",
"notes_for_staff": "Please arrive 15 minutes early",
"payrate_unit": "Hour",
"payrate": 25.00,
"dress_code": "Black suit"
}
],
"work_shifts": [
{
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"position": "Brand Ambassador",
"first_name": "Jane",
"last_name": "Smith",
"start_time": "2024-06-15 17:00:00",
"start_time_tbd": "false",
"end_time": "2024-06-15 23:00:00",
"end_time_tbd": "false",
"pay_rate": 25.00,
"confirmed": "yes",
"status": "active",
"created_at": "2024-05-01 17:30:00",
"modified_at": "2024-05-10 21:15:00"
}
],
"custom_fields": [
{
"field_uuid": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"field_name": "Event Type",
"field_value": "Club Vibes"
},
{
"field_uuid": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"field_name": "Special Instructions",
"field_value": "Set up by 4pm"
}
]
},
"message": ""
}
Create Event
Create a new event. Requires admin permissions.
HTTP Request
POST /v1/events
Required Fields
| Parameter | Type | Description |
|---|---|---|
| title | string | Event title (max 200 chars) |
| start_time | string | Start date and time (YYYY-MM-DD HH:MM:SS) |
| end_time | string | End date and time (must be after start_time) |
| timezone | string | Timezone (e.g., America/Los_Angeles) |
Optional Fields
| Parameter | Type | Description |
|---|---|---|
| venue_name | string | Venue name (max 250 chars) |
| address | string | Street address (max 200 chars) |
| city | string | City (max 200 chars) |
| state | string | State (max 50 chars) |
| zip | string | ZIP code (max 50 chars) |
| description | string | Event description |
| dress_code | string | Dress code requirements |
cURL Example
curl -X POST https://api.eventstaffapp.com/v1/events \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Beach Wedding Reception",
"start_time": "2024-06-15 18:00:00",
"end_time": "2024-06-15 23:00:00",
"timezone": "America/Los_Angeles",
"venue_name": "Malibu Beach Resort",
"address": "123 Pacific Coast Highway",
"city": "Malibu",
"state": "CA",
"zip": "90265",
"description": "Elegant beach wedding reception for 150 guests",
"dress_code": "Cocktail attire",
"client_id": 1
}'
Example Response
{
"success": true,
"data": {
"uuid": "0c663c18-34b9-4d63-9caf-b6075b37607b",
"title": "Beach Wedding Reception",
"start_time": "2024-06-15 18:00:00",
"end_time": "2024-06-15 23:00:00",
"timezone": "America/Los_Angeles",
"venue_name": "Malibu Beach Resort",
"address": "123 Pacific Coast Highway",
"city": "Malibu",
"state": "CA",
"zip": "90265",
"description": "Elegant beach wedding reception for 150 guests",
"dress_code": "Cocktail attire",
"status": "active",
"business_id": 112,
"client_id": 1,
"id": 199393
},
"message": "Event created successfully"
}
Update Event
Update an existing event. Requires admin permissions for events in your business.
HTTP Request
PUT /v1/events/{uuid}
URL Parameters
| Parameter | Type | Description |
|---|---|---|
| uuid | string | The UUID of the event to update |
cURL Example
curl -X PUT https://api.eventstaffapp.com/v1/events/0c663c18-34b9-4d63-9caf-b6075b37607b \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated Beach Wedding Reception",
"venue_name": "Updated Venue Name",
"description": "Updated description for the event",
"dress_code": "Formal attire",
"status": "active"
}'
Example Response
{
"success": true,
"data": {
"uuid": "0c663c18-34b9-4d63-9caf-b6075b37607b",
"title": "Updated Beach Wedding Reception",
"start_time": "2024-06-15 18:00:00",
"end_time": "2024-06-15 23:00:00",
"timezone": "America/Los_Angeles",
"venue_name": "Updated Venue Name",
"address": "123 Pacific Coast Highway",
"city": "Malibu",
"state": "CA",
"zip": "90265",
"description": "Updated description for the event",
"dress_code": "Formal attire",
"status": "active",
},
"message": "Event updated successfully"
}
📝 Notes
- • All event operations require a valid Bearer token and you must have admin user permissions
- • UUIDs are used in URLs for event identification
- • Event status can be: active, draft, or deleted
- • Start time must be before end time
- • Call times, active work shifts, and custom fields are included with event responses
- • Only work shifts with an "active" status are returned
- • Custom fields are business-specific additional fields (text, textarea, or dropdown select) configured for events