Events (Admin)
Create session (Admin)
POST
/manage/events/:eventId/sessionsCreate a session. Requires the sessionsWrite permission. SessionSpeaker links are created from entryIds / speakers.
| Auth | Login required |
|---|
Path parameters
eventIdstringrequiredEvent ID or slug.
Request body
titlestringrequiredSession title (required); no length limit.
descriptionstringoptionalDescription.
Localized title / description.
statusstringoptionalOne of DRAFT / COMPLETED / CANCELLED.
startTime / endTimestringoptionalStart / end time (ISO 8601); endTime must not be earlier than startTime.
stageIdstringoptionalStage ID; must belong to the same event.
entryIdsstring[]optionalArray of speaker registration IDs; SessionSpeaker links are reconciled to match this array (links not present in the array are removed).
Array used to link speakers with order, status and role; each element has entryId (required), order (integer ≥ 0), status, role and comment.
Response
Returns Session.
Request
curl https://api.4s.link/manage/events/EVENT_ID/sessions \-X POST \-H "Authorization: Bearer 4s_at_..." \-H "Content-Type: application/json" \-d '{"title": "Opening Keynote","status": "COMPLETED","startTime": "2026-09-01T01:00:00.000Z","endTime": "2026-09-01T02:00:00.000Z","stageId": "sg1a2b3c-...","entryIds": ["en1a2b3-..."]}'
Example response
{"id": "s1a2b3c4-...","title": "Opening Keynote","description": "...","status": "COMPLETED","startTime": "2026-09-01T01:00:00.000Z","endTime": "2026-09-01T02:00:00.000Z","stageId": "sg1a2b3c-...","sessionSpeakers": [{ "id": "ss1a2b3-...", "entryId": "en1a2b3-...", "order": 0, "status": "CONFIRMED", "speaker": { "id": "en1a2b3-...", "firstName": "太郎", "lastName": "山田" } }]}