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
uuidstringEvent UUID
resource_idstringExternal resource identifier
titlestringEvent title
descriptionstringEvent description
private_notesstringInternal admin notes
dress_codestringDress code
start_date_timestringStart date/time (Y-m-d H:i:s)
start_time_tbdstring"true" or "false"
end_date_timestringEnd date/time (Y-m-d H:i:s)
end_time_tbdstring"true" or "false"
addressstringStreet address
address_line_2stringAddress line 2
roomstringRoom or location
citystringCity
statestringState
zipstringZIP code
latitudestringLatitude (e.g. from map)
longitudestringLongitude (e.g. from map)
statusstring"active" or "canceled"
created_atstringCreated at in UTC (Y-m-d H:i:s)
modified_atstringLast modified in UTC (Y-m-d H:i:s)
call_timesarrayArray of call times for the event (see Get Single Event for field details)
work_shiftsarrayArray of active work shifts for the event (see Work Shifts fields below)
custom_fieldsarrayArray of custom field values for the event (see Custom Fields below)

Work Shift Fields (each item in work_shifts)

Field Type Description
uuidstringWork shift UUID
positionstringPosition title (e.g., "Brand Ambassador")
first_namestringStaff member's first name
last_namestringStaff member's last name
start_timestringScheduled start time (Y-m-d H:i:s), null if TBD
start_time_tbdstring"true" or "false"
end_timestringScheduled end time (Y-m-d H:i:s), null if TBD
end_time_tbdstring"true" or "false"
pay_ratefloatPay rate in USD, null if using position default
confirmedstring"yes" or "no"
statusstringShift status (only "active" shifts are included)
created_atstringCreated at in UTC (Y-m-d H:i:s)
modified_atstringLast 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_uuidstringUUID of the custom field definition
field_namestringDisplay name of the custom field
field_valuestringThe 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