Documentation

Sessions API

List, create, edit, and delete sessions in the event programme.

Manage the sessions in your event programme (shown in the app and the public schedule widget). All endpoints require the standard authentication headers. Write endpoints require the sessions:write scope; the read endpoint requires sessions:read.


GET /getSessions

Returns an array of all sessions for the event. Soft-deleted sessions are excluded. No request body required. Requires sessions:read.

Example request

curl "https://api.event-vault.com/getSessions" \
  -H "x-api-key: <your-api-key>" \
  -H "x-client-id: <your-client-id>" \
  -H "x-event-id: <your-event-id>" \
  -H "x-timestamp: $(date +%s%3N)"

POST /upsertSession

Creates a new session, or edits an existing one. Omit sessionId to create (name required); include it to edit (only the fields you send change). Requires sessions:write.

Request body fields

Field Type Required Description
sessionId string Existing session’s id. Omit to create; include to edit.
name string create Session title
date string Session date (e.g. "2026-09-14")
timeStart / timeEnd string Start / end time
location string Room or location
format string Session format label
difficulty string Difficulty label
synopsis string Short summary (plain text)
tags string Comma-separated tags
capacity integer Seat capacity (0 = unlimited)
track integer Track index
tintColor integer Session colour as a 32-bit ARGB integer
handOutLink string Handout URL
additionalContentLabel / additionalContentLink string Optional extra content label + URL
ticketRedemption / ticketRedemptionLabel / ticketRedemptionDescription string Ticket-redemption settings
hasPreRegistration boolean Enable pre-registration
hasLiveQA / managedQA / hasPoll boolean Live Q&A, moderated Q&A, and poll toggles
hasSponsorship / sponsorshipLink / sponsorImagePath boolean / string / string Session sponsorship
unListed boolean Publish toggle. true = not shown on the public widgets (still visible in the console); false = published (default)
contentData array Content sections - see Content Sections
websiteOverride boolean When true, public widgets use websiteContentData instead of contentData
websiteContentData array Website-only content sections (same format as contentData)
Responses
Status Body Description
200 OK { "status": "success", "sessionId": "...", "created": true } Session created (created: true) or edited (created: false)
400 Bad Request The request must include a non-empty name when creating a session. Creating without a name
400 Bad Request { "error": "Invalid content sections", "details": [...] } A content section is malformed or references a missing/hidden/deleted record
404 Not Found Session not found. sessionId supplied but no such session
500 Internal Server Error Error upserting session. Unexpected server error

Plus the standard auth errors (400/403/404/408/429) - see Authentication.

Example - create a session with content and a speaker section

curl "https://api.event-vault.com/upsertSession" \
  -X POST \
  -H "Content-Type: application/json" \
  -H "x-api-key: <your-api-key>" \
  -H "x-client-id: <your-client-id>" \
  -H "x-event-id: <your-event-id>" \
  -H "x-timestamp: $(date +%s%3N)" \
  -d '{
    "name": "Opening Keynote",
    "date": "2026-09-14",
    "timeStart": "09:00",
    "timeEnd": "10:00",
    "location": "Main Hall",
    "contentData": [
      { "type": "paragraph", "data": { "content": "[{\"insert\":\"Welcome to the event.\\n\"}]" } },
      { "type": "speaker", "data": { "speakerType": "Presenters", "speakerIds": ["<speakerId>"] } }
    ]
  }'

POST /deleteSession

Soft-deletes a session: it is removed from listings but stays recoverable in the console. Requires sessions:write.

Request body fields

Field Type Required Description
sessionId string Id of the session to delete
Responses
Status Body Description
200 OK { "status": "success" } Session was soft-deleted
400 Bad Request The request must include sessionId in the body. sessionId missing
404 Not Found Session not found. No session with this id
500 Internal Server Error Error deleting session. Unexpected server error