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.
Optional form fields: curlNode.js (form-data)The multipart field name must be
| Endpoint | POST /v1/event/{eventId}/sessions/{sessionId}/files/upload |
| Max size | 50 MB |
| Scope | write:sessions |
title, assigned_participant_id (contact UUID on the session).Upload the file
file. You do not send filename, size_bytes, or content_type — Sessionboard infers them from the upload.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: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
| Kind | Examples |
|---|---|
| Documents | PDF, DOC, DOCX |
| Presentations | PPT, PPTX |
| Spreadsheets | XLS, XLSX |
| Images | PNG, JPG, GIF, WEBP, SVG |
.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.
Common errors
| Situation | What you’ll see |
|---|---|
| Simple upload over 50 MB | 400 — use direct-to-storage flow |
| Direct create over 500 MB | 400 — file too large |
Missing multipart file field | 400 VALIDATION_ERROR |
Missing filename / size_bytes (direct create) | 400 VALIDATION_ERROR |
| Executable / installer type | 400 — file type not allowed |
| Called complete before PUT | 400 — upload not found in storage |
Missing write:sessions | 403 |
Unknown fileId / session | 404 |
Scopes quick reference
| Action | Scope |
|---|---|
| List files | read:sessions |
| Upload / create / complete / replace / update / delete | write:sessions |

