This is not the media or recording upload flow. Use Media & Transcriptions for video/audio that should be transcribed or stored as session recordings.
Pick your upload path
- Simple upload (≤ 50 MB)
- Direct to storage (> 50 MB)
Best for: most integrations — one API call, no S3 steps. Sessionboard detects file size and MIME type from the bytes you send.curlNode.js (form-data)The multipart field name must be
Optional form fields:
title, assigned_participant_id (contact UUID on the session).1
Upload the file
file. You do not send filename, size_bytes, or content_type — Sessionboard infers them from the upload.2
Use the response
On success (Security scanning runs before the response is returned. No follow-up call is required.
201) you get the finalized file Content object — same shape as after the direct-to-storage complete step:3
Confirm (optional)
Before you begin
- API token with
write:sessions(list/read also needsread:sessionswhen your token uses explicit scopes) - Your
{eventId}and{sessionId}
Common file types
Executable and installer files (for example
.exe, .msi, .dmg, .sh) are rejected on all paths.
Update metadata
Change the display title or assigned participant without re-uploading:Replace or delete
Replace (direct-to-storage flow only today):POST .../files/{fileId}/replace → PUT bytes → POST .../complete.
Delete: DELETE .../files/{fileId} → 204 No Content.

