How to assign speakers to a session

How to assign speakers to a session

Use this guide when you need to assign one or more speakers to a session. The speakers[] parameter in POST /api/v2/sessions/set replaces the entire speaker list on the session — so always pass the full desired list, not just the new additions.


Prerequisites

Account must have speaker=true set first. An account can only be assigned as a speaker on a session if they have already been registered as a speaker for this event via POST /api/v2/account/set.

See the "How to enable an account as a speaker" guide under POST account/set.


Request — assign speakers to an existing session

Bash
curl -X POST "https://your-event-domain.com/api/v2/sessions/set" \
  -H "Authorization: Bearer your_api_key_here" \
  -F "id=42" \
  -F "speakers[]=18860" \
  -F "speakers[]=18861"

You can also pass account emails instead of IDs:

Bash
curl -X POST "https://your-event-domain.com/api/v2/sessions/set" \
  -H "Authorization: Bearer your_api_key_here" \
  -F "id=42" \
  -F "speakers[]=jane.doe@example.com" \
  -F "speakers[]=peter.jones@example.com"

Request — clear all speakers from a session

Bash
curl -X POST "https://your-event-domain.com/api/v2/sessions/set" \
  -H "Authorization: Bearer your_api_key_here" \
  -F "id=42" \
  -F "speakers[]="

Full two-step workflow

Step 1: Register account as event speaker
POST /api/v2/account/set
→ event_id=7, email=jane.doe@example.com, speaker=true

Step 2: Assign speaker to a session
POST /api/v2/sessions/set
→ id=42, speakers[]=18860

Notes

  • speakers[] is a full replacement — every update overwrites the current list. To add a speaker without removing others, first retrieve existing speakers via GET /api/v2/sessions/getSpeakers and include all of them in your new request

  • Speaker schedule records are created automatically when a speaker is assigned

  • speakers[] accepts account IDs (integers) or email addresses (strings) — mix is allowed