Speakers API
Manage event speakers and their details
Overview
The Speakers API allows you to manage speakers for your events. You can create speakers, update their information, filter by status, and more.
Endpoints
GET
/speakersGet a paginated list of speakers for an event with optional filtering by status, tags, and search query
POST
/speakersCreate a new speaker or update existing speaker if email exists
GET
/speakers/{id}Get a single speaker by ID
PATCH
/speakers/{id}Update speaker details
DELETE
/speakers/{id}Delete a speaker
List speakers
GET
/speakersGet a paginated list of speakers for an event with optional filtering by status, tags, and search query.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | UUID | Yes | Event ID to filter speakers |
status | String | No | Filter by speaker status (invited, applied, accepted, confirmed, scheduled, checked_in, declined, withdrawn) |
tags | String | No | Comma-separated list of tags to filter by |
search | String | No | Search by name, email, or company |
page | Integer | No | Page number (default: 1) |
limit | Integer | No | Items per page (default: 20, max: 100) |
Example request
curl -X GET "https://eventnerds.com/api/developer/v1/speakers?event_id=EVENT_ID&status=confirmed" \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"id": "uuid",
"event_id": "uuid",
"email": "speaker@example.com",
"name": "Jane Doe",
"title": "Senior Developer",
"company": "Tech Corp",
"bio": "Experienced software engineer",
"status": "confirmed",
"created_at": "2025-01-15T10:00:00Z",
"updated_at": "2025-01-15T10:00:00Z"
}
],
"meta": {
"page": 1,
"limit": 20,
"total": 45,
"totalPages": 3
}
}Create speaker
POST
/speakersCreate a new speaker or update existing speaker if email exists.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
event_id | UUID | Yes | Event ID |
email | String | Yes | Speaker email address |
name | String | Yes | Speaker full name |
title | String | No | Speaker job title |
company | String | No | Speaker company |
bio | String | No | Speaker biography |
status | String | No | Speaker status (default: invited) |
Example request
curl -X POST "https://eventnerds.com/api/developer/v1/speakers" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event_id": "EVENT_ID",
"email": "speaker@example.com",
"name": "Jane Doe",
"title": "Senior Developer",
"company": "Tech Corp",
"bio": "Experienced software engineer",
"status": "confirmed"
}'Update speaker
PATCH
/speakers/{id}Update speaker details. Only provided fields will be updated.
Example request
curl -X PATCH "https://eventnerds.com/api/developer/v1/speakers/SPEAKER_ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "checked_in"
}'Delete speaker
DELETE
/speakers/{id}Delete a speaker. This action cannot be undone.
Warning: Deleting a speaker will also remove them from any sessions they are assigned to.