Speakers
Speakers: available fields, filters, associations, and API operations.
Path: events/{event_id}/speakers
Methods: GET collection/record, POST, PATCH. There is no DELETE operation.
GET
- Fields:
event-id,external-id,honorific,first-name,middle-name,last-name,full-name,job-title,company-name,bio,photo-url,highlight-position,position,created-at,updated-at. - Filters:
external_id,first_name,middle_name,last_name,honorific,job_title,company_name,featured,session_id. - Associations:
speaker_assignments→ responsespeaker-assignments:id,timeslot-id,role,position;custom_fields→ responsecustom-fields:definition-key,definition-title,field-type,values.
GET .../speakers?featured=true&session_id=5501&include=speaker_assignments,custom_fields
POST/PATCH writable fields: external_id, honorific, first_name, middle_name, last_name, job_title, company_name, bio (raw JSON or HTML string), highlight_position, position.
Additional inputs: custom_fields_attributes (raw JSON), photo (raw value; HTTP URL or base64 data URI).
{
"external_id": "SPEAKER-42",
"first_name": "Taylor",
"last_name": "Ng",
"job_title": "CEO",
"company_name": "Example Ltd",
"bio": "Taylor leads Example Ltd.",
"photo": "https://example.com/taylor.jpg"
}
Speaker biography content is normalized and sanitized. An empty photo value on PATCH removes the current image.