Update session

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

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

AuthLogin required

Path parameters

eventIdstringrequired

Event ID or slug.

idstringrequired

Session ID.

Request body

titlestring

Session title (required); no length limit.

descriptionstring

Description.

languagesobject

Localized title / description.

statusstring

One of DRAFT / COMPLETED / CANCELLED.

startTime / endTimestring

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

stageIdstring

Stage ID; must belong to the same event.

speakerIdsstring[]

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

speakersobject[]

Array used to create and link speakers in one call; each element has speakerId (required), order (integer ≥ 0) and status.

Object structures

languages

Keyed by language code; each entry overrides the title / description shown for that language. Languages you omit fall back to the default fields.

<lang>object

Language code (ja, en, …)

<lang>.titlestring

Title shown in that language.

<lang>.descriptionstring

Description shown in that language.

{
  "ja": { "title": "オープニング基調講演", "description": "..." },
  "en": { "title": "Opening Keynote", "description": "..." }
}

speakers

Links between the session and its speakers (SessionSpeaker). Use it when you need more control than speakerIds; when both are sent, this field takes precedence.

speakerIdstringrequired

Speaker ID; must belong to the same event.

ordernumber

Display order within the session; an integer of 0 or more.

statusstring

One of DRAFT / PENDING / CONFIRMED / REJECTED.

rolestring

Role within the session (e.g. moderator)

commentstring

Internal note for organizers.

[
  { "speakerId": "sp1a2b3-...", "order": 0, "status": "CONFIRMED", "role": "moderator" }
]
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)",
"speakerIds": ["sp1a2b3-...", "sp2b3c4-..."]
}'
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-...",
"speakers": [
{ "id": "sp1a2b3-...", "firstName": "太郎", "lastName": "山田" }
]
}