Skip to content

Get composed content for a session

GET/v1/event/{eventId}/sessions/{sessionId}/content

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

Canonical one-call session pack for mobile and partner apps — composed transcription elements, preferred summary, insights, podcast URL/status, and summary PDF/card links. Distinct from session composition (abstract/parent-child linking).

Requires read:transcriptions scope (legacy tokens with empty scopes pass).

Request example

Terminal window
curl --request GET \
--url 'https://public-api.sessionboard.com/v1/event/{eventId}/sessions/{sessionId}/content' \
--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

  • sessionIdstring<uuid>pathrequired

    Session UUID

Query parameters

  • expandstringquery

    Comma-separated item types. Default transcription,summary,insight,podcast,document.

  • interval_secintegerquery

    Optional time window (seconds) for rechunking same-speaker elements.

    Minimum
    1
  • providerstringquery
    Allowed values
    "claude", "openai"

Responses

200application/json

OK

  • dataSessionContent
    Show child attributes
    • idstring<uuid>

      Session id

    • event_idinteger
    • titlestring | null
    • starts_atstring<date-time> | null
    • updated_atstring<date-time>
    • speakersobject[]
      Show child attributes
      • idstring
      • labelstring
      • namestring | null
    • has_transcriptionboolean
    • has_summaryboolean
    • has_podcastboolean
    • itemsContentItem[]
      Show child attributes
      • idstring<uuid> | string | any | null
        Option 1

        string<uuid>

        Option 2

        string

      • typestring
        Allowed values
        "transcription", "summary", "insight", "podcast", "document", "recap"
      • session_idstring<uuid>
      • textstring

        Full joined transcript (transcription items).

      • elementsTranscriptionElement[]
        Show child attributes
        • valuestring
        • speakerobject
          Show child attributes
          • idstring
          • labelstring
          • namestring | null
        • start_timenumber
        • end_timenumber
        • fragment_idsstring<uuid>[]
      • fragment_countinteger
      • interval_secinteger | null
      • language_codestring
      • summary_typestring
      • providerstring
      • contentobject
      • topicsobject[]
      • insight_typestring
      • namestring
      • metadataobject | null
      • statusstring
      • urlstring | null
      • duration_secinteger | null
      • generated_atstring<date-time> | null
      • expires_atstring<date-time> | null
      • document_typestring
        Allowed values
        "summary_pdf", "summary_card", "event_report"
      • content_typestring
      • scopestring
      • quotesobject[]
      • summariesobject[]
      • created_atstring<date-time>
      • updated_atstring<date-time>

403

Missing read:transcriptions scope

404

Session not found

Response examples

{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_id": 123,
"title": "<string>",
"starts_at": "2026-01-15T09:30:00Z",
"updated_at": "2026-01-15T09:30:00Z",
"speakers": [
{
"id": "<string>",
"label": "<string>",
"name": "<string>"
}
],
"has_transcription": true,
"has_summary": true,
"has_podcast": true,
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "transcription",
"session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"text": "<string>",
"elements": [
{
"value": "<string>",
"speaker": {
"id": "<string>",
"label": "<string>",
"name": "<string>"
},
"start_time": 123.45,
"end_time": 123.45,
"fragment_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
],
"fragment_count": 123,
"interval_sec": 123,
"language_code": "<string>",
"summary_type": "<string>",
"provider": "<string>",
"content": {},
"topics": [
{}
],
"insight_type": "<string>",
"name": "<string>",
"metadata": {},
"status": "<string>",
"url": "<string>",
"duration_sec": 123,
"generated_at": "2026-01-15T09:30:00Z",
"expires_at": "2026-01-15T09:30:00Z",
"document_type": "summary_pdf",
"content_type": "<string>",
"scope": "<string>",
"quotes": [
{}
],
"summaries": [
{}
],
"created_at": "2026-01-15T09:30:00Z",
"updated_at": "2026-01-15T09:30:00Z"
}
]
}
}

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.