Skip to content

List upload slots

GET/v1/event/{eventId}/content-slots

US Region: https://public-api.sessionboard.com · EU Region: https://public-api-eu.sessionboard.com

The files an event asks its speakers for — one slot per ask (Poster, Presentation, Handout, …), each with its own deadline, accepted file types and file count, in the order speakers see them. Configured by organizers under Program → Settings → Files → Use upload slots.

content_slot_id on a session file points at one of these slots, so you can tell a poster from a deck without parsing filenames.

Read-only. Active slots only unless include_archived=true. An event that still uses a single file request for every session (the switch is off) returns an empty list. Requires read:sessions scope (legacy tokens with empty scopes pass).

Pass session_id to get only the slots that apply to one session (organizers can scope a slot to, say, poster-format sessions). That is the list to pick a content_slot_id from before creating a file on that session.

Request example

Terminal window
curl --request GET \
--url 'https://public-api.sessionboard.com/v1/event/{eventId}/content-slots' \
--header 'x-access-token: <api-token>'

Try it

Authorization

Your token stays in this page. It is sent only to the region above and is never saved; it is gone when you leave or reload the page.

Path parameters
Query parameters
GET

Authorizations

  • x-access-tokenstringheader

    Organization API token. Generate from Organization Settings → API Tokens.

  • AuthorizationBearer <token>headeror

    OAuth 2.1 access token. Obtained via the OAuth PKCE flow at /oauth/token.

Send one of these. See Authentication.

Path parameters

  • eventIdintegerpathrequired

    Event ID

Query parameters

  • include_archivedbooleanquery

    Also return archived slots (is_active: false). Ignored when session_id is set — an archived slot never applies to a session.

    Default
    false
  • session_idstring<uuid>query

    Return only the active slots that apply to this session, in the order its speakers see them. 404 if the session is not on the event.

Responses

200application/json

OK

  • dataContentSlot[]
    Show child attributes
    • idstring<uuid>
    • namestring

      The name speakers see, e.g. "Poster".

    • content_typestring

      What kind of file the slot collects. Poster galleries read poster slots.

      Allowed values
      "poster", "presentation", "handout", "abstract", "custom"
    • descriptionstring | null

      Instructions shown to speakers above the drop zone.

    • due_datestring<date-time> | null

      Deadline shown to speakers. null means no deadline.

    • due_date_extendedstring<date-time> | null

      Later date the drop zone stays open until, if the organizer set one.

    • allowed_file_typesstring[]

      Accepted type keys (pdf, ppt, word, excel, image, png, jpeg, gif, svg, video, mp4, audio, zip, csv, text). An empty array accepts any type.

    • requiredboolean

      Whether the slot counts as missing until a file is uploaded.

    • min_filesinteger | null
    • max_filesinteger | null

      Maximum files per session; null means unlimited.

    • allow_after_deadlineboolean

      Whether uploads are still accepted after the deadline.

    • orderinteger

      Position in the list speakers see (0-based).

    • is_activeboolean

      false for archived slots (only returned with include_archived=true).

    • created_atstring<date-time>
    • updated_atstring<date-time>

403

Missing read:sessions scope

404

Event not found

Response examples

{
"data": [
{
"id": "2783cb27-958a-4a24-89d9-2d71387f04cc",
"name": "Poster",
"content_type": "poster",
"description": "Upload your poster as a single-page PDF.",
"due_date": null,
"due_date_extended": null,
"allowed_file_types": [
"pdf"
],
"required": true,
"min_files": null,
"max_files": 1,
"allow_after_deadline": false,
"order": 0,
"is_active": true,
"created_at": "2026-10-02T12:04:11.000Z",
"updated_at": "2026-10-02T19:48:30.000Z"
},
{
"id": "9a1c6f0e-4a0b-4a4e-8e3f-0c2b1d5e7f90",
"name": "Presentation",
"content_type": "presentation",
"description": null,
"due_date": "2026-08-30T21:15:00.000Z",
"due_date_extended": null,
"allowed_file_types": [
"word",
"pdf"
],
"required": false,
"min_files": null,
"max_files": 1,
"allow_after_deadline": false,
"order": 1,
"is_active": true,
"created_at": "2026-10-02T12:04:11.000Z",
"updated_at": "2026-10-02T12:04:11.000Z"
}
]
}

Get release notes by email

A short digest on the days something new goes live — each change with a link to its note in the release notes. No marketing, and one click to stop.

Company email addresses only. We’ll send one email to confirm it’s you. Already use Sessionboard? You can also turn this on under Community → What’s new.