Skip to main content
Use this guide to upload documents to a session — the same Session Files you manage in the admin UI and speaker portal (slides, handouts, PDFs, and similar).
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

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: title, assigned_participant_id (contact UUID on the session).
1

Upload the file

curl
Node.js (form-data)
The multipart field name must be file. You do not send filename, size_bytes, or content_type — Sessionboard infers them from the upload.
2

Use the response

On success (201) you get the finalized file Content object — same shape as after the direct-to-storage complete step:
Security scanning runs before the response is returned. No follow-up call is required.
3

Confirm (optional)


Before you begin

  • API token with write:sessions (list/read also needs read:sessions when your token uses explicit scopes)
  • Your {eventId} and {sessionId}
Send your token on every API request:

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.

Common errors


Scopes quick reference