Skip to main content

Overview

The Attendees API allows you to manage event registrations and attendee information. Track participant details, dietary preferences, accessibility needs, and carbon offset contributions.

Authentication

All API requests require an API key to be included in the header:
Authorization: Bearer YOUR_API_KEY

Create Attendee

POST /api/attendees

Register a new attendee for an event.

Request

eventId
string
required
The ID of the event the attendee is registering for
firstName
string
required
Attendee’s first name
lastName
string
required
Attendee’s last name
email
string
required
Attendee’s email address
phone
string
Phone number with country code
company
string
Company or organization name
title
string
Job title or position
ticketType
string
required
Type of ticket (e.g., “general”, “vip”, “early-bird”, “speaker”)
dietaryPreferences
array
Array of dietary preferences (e.g., [“vegetarian”, “vegan”, “gluten-free”, “halal”, “kosher”])
accessibilityNeeds
object
Accessibility requirements
carbonOffset
object
Carbon offset contribution details
emergencyContact
object
Emergency contact information
customFields
object
Additional custom fields as key-value pairs

Response

id
string
Unique identifier for the attendee registration
eventId
string
Associated event ID
firstName
string
Attendee’s first name
lastName
string
Attendee’s last name
email
string
Attendee’s email
phone
string
Phone number
company
string
Company name
title
string
Job title
ticketType
string
Ticket type
dietaryPreferences
array
Dietary preferences
accessibilityNeeds
object
Accessibility requirements
carbonOffset
object
Carbon offset details
emergencyContact
object
Emergency contact information
customFields
object
Custom fields
registrationDate
string
Timestamp when the registration was created
status
string
Registration status (“confirmed”, “pending”, “cancelled”, “checked-in”)
qrCode
string
URL to the attendee’s QR code for check-in
confirmationCode
string
Unique confirmation code

Example

curl -X POST https://api.ecoevents.com/api/attendees \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "eventId": "evt_1a2b3c4d5e6f",
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "[email protected]",
    "phone": "+1-555-0123",
    "company": "GreenTech Solutions",
    "title": "Sustainability Director",
    "ticketType": "general",
    "dietaryPreferences": ["vegetarian"],
    "accessibilityNeeds": {
      "wheelchairAccess": false,
      "signLanguage": false,
      "visualAid": false
    },
    "carbonOffset": {
      "opted": true,
      "amount": 25.00,
      "travelDistance": 150,
      "travelMode": "car"
    },
    "emergencyContact": {
      "name": "John Smith",
      "phone": "+1-555-0124",
      "relationship": "Spouse"
    }
  }'

Response Example

{
  "id": "att_7g8h9i0j1k2l",
  "eventId": "evt_1a2b3c4d5e6f",
  "firstName": "Jane",
  "lastName": "Smith",
  "email": "[email protected]",
  "phone": "+1-555-0123",
  "company": "GreenTech Solutions",
  "title": "Sustainability Director",
  "ticketType": "general",
  "dietaryPreferences": ["vegetarian"],
  "accessibilityNeeds": {
    "wheelchairAccess": false,
    "signLanguage": false,
    "visualAid": false
  },
  "carbonOffset": {
    "opted": true,
    "amount": 25.00,
    "travelDistance": 150,
    "travelMode": "car"
  },
  "emergencyContact": {
    "name": "John Smith",
    "phone": "+1-555-0124",
    "relationship": "Spouse"
  },
  "registrationDate": "2026-03-05T11:15:00Z",
  "status": "confirmed",
  "qrCode": "https://api.ecoevents.com/qr/att_7g8h9i0j1k2l",
  "confirmationCode": "ECO-2026-JANE-SMITH-7G8H"
}

List Attendees

GET /api/attendees

Retrieve a paginated list of attendees with optional filtering.

Query Parameters

eventId
string
Filter by event ID
page
integer
default:"1"
Page number for pagination
limit
integer
default:"20"
Number of attendees per page (max 100)
status
string
Filter by registration status (“confirmed”, “pending”, “cancelled”, “checked-in”)
ticketType
string
Filter by ticket type
Search by name, email, or company
carbonOffset
boolean
Filter by carbon offset participation (true/false)
sortBy
string
default:"registrationDate"
Field to sort by (“registrationDate”, “firstName”, “lastName”, “company”)
order
string
default:"desc"
Sort order (“asc” or “desc”)

Response

attendees
array
Array of attendee objects
pagination
object
Pagination information

Example

curl -X GET "https://api.ecoevents.com/api/attendees?eventId=evt_1a2b3c4d5e6f&status=confirmed&page=1&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Get Attendee

GET /api/attendees/:id

Retrieve a specific attendee by ID.

Path Parameters

id
string
required
The unique identifier of the attendee

Response

Returns the full attendee object with all registration details.

Example

curl -X GET https://api.ecoevents.com/api/attendees/att_7g8h9i0j1k2l \
  -H "Authorization: Bearer YOUR_API_KEY"

Update Attendee

PUT /api/attendees/:id

Update attendee information. All fields are optional.

Path Parameters

id
string
required
The unique identifier of the attendee to update

Request

Accepts the same parameters as Create Attendee, but all fields are optional. Only include fields you want to update.
firstName
string
Updated first name
lastName
string
Updated last name
email
string
Updated email address
phone
string
Updated phone number
company
string
Updated company name
title
string
Updated job title
ticketType
string
Updated ticket type
dietaryPreferences
array
Updated dietary preferences
accessibilityNeeds
object
Updated accessibility requirements
carbonOffset
object
Updated carbon offset details
emergencyContact
object
Updated emergency contact
status
string
Updated registration status (“confirmed”, “pending”, “cancelled”, “checked-in”)
customFields
object
Updated custom fields

Response

Returns the updated attendee object.

Example

curl -X PUT https://api.ecoevents.com/api/attendees/att_7g8h9i0j1k2l \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "checked-in",
    "dietaryPreferences": ["vegetarian", "gluten-free"]
  }'

Error Responses

All endpoints may return the following error responses:
error
object
Error details

Common Error Codes

Status CodeError CodeDescription
400INVALID_REQUESTInvalid request parameters or body
400EVENT_FULLEvent has reached maximum capacity
401UNAUTHORIZEDMissing or invalid API key
403FORBIDDENInsufficient permissions
404NOT_FOUNDAttendee or event not found
409DUPLICATE_REGISTRATIONAttendee already registered for this event
429RATE_LIMIT_EXCEEDEDToo many requests
500INTERNAL_ERRORServer error

Build docs developers (and LLMs) love