Events (Admin)

Update session (Admin)

PUT/manage/events/:eventId/sessions/:id

Update a session. Requires the sessionsWrite permission. Sending entryIds reconciles the SessionSpeaker links to match the array.

AuthLogin required

Path parameters

eventIdstringrequired

Event ID or slug.

idstringrequired

Session ID.

Request body

titlestringoptional

Session title (required); no length limit.

descriptionstringoptional

Description.

languagesLanguagesoptional

Localized title / description.

statusstringoptional

One of DRAFT / COMPLETED / CANCELLED.

startTime / endTimestringoptional

Start / end time (ISO 8601); endTime must not be earlier than startTime.

stageIdstringoptional

Stage ID; must belong to the same event.

entryIdsstring[]optional

Array of speaker registration IDs; SessionSpeaker links are reconciled to match this array (links not present in the array are removed).

speakersSessionSpeaker[]optional

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/ID \
-X PUT \
-H "Authorization: Bearer 4s_at_..." \
-H "Content-Type: application/json" \
-d '{
"title": "Opening Keynote (updated)",
"entryIds": ["en1a2b3-...", "en2b3c4-..."]
}'
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": "山田" } }
]
}