Events (Admin)

Create session (Admin)

POST/manage/events/:eventId/sessions

Create a session. Requires the sessionsWrite permission. SessionSpeaker links are created from entryIds / speakers.

AuthLogin required

Path parameters

eventIdstringrequired

Event ID or slug.

Request body

titlestringrequired

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 \
-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": "山田" } }
]
}