Realms of Shod logo

Realms of Shod

Overview
  • Getting Started

    • Quickstart
    • Storytelling
    • Using the H.U.B.
    • Sculpting Realms
    • Collaborating
    • Coins
  • Understanding the Interface

    • Navigation
    • Media Controls
    • Story Tools
  • Realms Sandbox

    • Play Modes
    • Gamestream
    • Transcripts
    • Compendium
  • World Building

    • Import / Export
    • Entities
  • Integrations

    • Discord
  • API Reference

    • Authentication
    • Realms API
    • Compendium API
    • Sessions API
  • Support

    • FAQs
    • Contact & Feedback
    • Privacy
Sessions API

API Reference

Sessions & Transcriptions

Browse sessions and read transcriptions. All endpoints require a valid Bearer token and realm membership.


GET /api/v1/realms/:realmId/sessions

Returns a paginated list of sessions in the realm, ordered by start time newest first.

Path Parameters

ParameterTypeDescription
realmId*stringThe realm ID.

Query Parameters

ParameterTypeDescription
limitintegerNumber of results per page. Default: 50, maximum: 100.
cursorstringOpaque pagination cursor from the previous response. Omit to start from the first page.

Response

ParameterTypeDescription
data*Session[]Array of session objects for this page.
nextCursor*string | nullCursor for the next page, or null on the last page.
hasMore*booleanTrue when additional pages exist.

Session

ParameterTypeDescription
id*stringUnique session identifier.
startedAt*integerUnix timestamp (ms) when the session started.
endedAt*integer | nullUnix timestamp (ms) when the session ended, or null if still active.
titlestring | nullSession title, or null if not set.
shortSummarystring | nullBrief AI-generated summary, or null.
fullSummarystring | nullFull AI-generated summary, or null.
discordGuildIdstring | nullDiscord server ID if the session was linked to Discord, or null.
discordChannelIdstring | nullDiscord channel ID if the session was linked to Discord, or null.
curl https://realmsofshod.com/api/v1/realms/clxyz.../sessions \
  -H "Authorization: Bearer ros_your_token_here"
{
  "data": [
    {
      "id": "ses_abc...",
      "startedAt": 1716000000000,
      "endedAt": 1716010800000,
      "title": "The Fall of Ashenveil",
      "shortSummary": "The party uncovered the cult's true motives.",
      "fullSummary": null,
      "discordGuildId": null,
      "discordChannelId": null
    }
  ],
  "nextCursor": "eyJzIjox...",
  "hasMore": true
}

GET /api/v1/realms/:realmId/sessions/:sessionId

Returns detailed information about a single session, including its scene breakdown and summary if available.

Path Parameters

ParameterTypeDescription
realmId*stringThe realm ID.
sessionId*stringThe session ID.

Response

ParameterTypeDescription
id*stringUnique session identifier.
realmId*stringID of the realm this session belongs to.
startedAt*integerUnix timestamp (ms) when the session started.
endedAt*integer | nullUnix timestamp (ms) when the session ended, or null.
scenes*Scene[]Ordered list of scenes within the session.
summary*SessionSummary | nullAI-generated summary, or null if not available.

Scene

ParameterTypeDescription
id*stringScene identifier.
shortTitle*stringBrief scene title.
longTitle*stringFull scene title.
start*integerUnix timestamp (ms) when the scene started.
end*integerUnix timestamp (ms) when the scene ended.

SessionSummary

ParameterTypeDescription
title*stringSummary title.
shortSummary*stringBrief summary.
fullSummary*stringFull summary text.
curl https://realmsofshod.com/api/v1/realms/clxyz.../sessions/ses_abc... \
  -H "Authorization: Bearer ros_your_token_here"
{
  "id": "ses_abc...",
  "realmId": "clxyz...",
  "startedAt": 1716000000000,
  "endedAt": 1716010800000,
  "scenes": [
    {
      "id": "scn_001...",
      "shortTitle": "The Ambush",
      "longTitle": "Ambush on the Ashenveil Road",
      "start": 1716000000000,
      "end": 1716003600000
    }
  ],
  "summary": {
    "title": "The Fall of Ashenveil",
    "shortSummary": "The party uncovered the cult's true motives.",
    "fullSummary": "After a tense confrontation at the old mill, the adventurers discovered that the Ashenveil cult had been secretly supplying weapons to the regional governor."
  }
}

GET /api/v1/realms/:realmId/sessions/:sessionId/transcriptions

Returns a paginated list of transcription segments for a session. Unlike other list endpoints, transcriptions are ordered oldest first (ascending by start time) so you can reconstruct the session chronologically by walking pages in order.

Path Parameters

ParameterTypeDescription
realmId*stringThe realm ID.
sessionId*stringThe session ID.

Query Parameters

ParameterTypeDescription
limitintegerNumber of results per page. Default: 50, maximum: 100.
cursorstringOpaque pagination cursor from the previous response. Omit to start from the beginning of the session.

Response

ParameterTypeDescription
data*Transcription[]Array of transcription segments for this page.
nextCursor*string | nullCursor for the next page, or null when there are no more segments.
hasMore*booleanTrue when additional pages exist.

Transcription

ParameterTypeDescription
id*stringUnique transcription identifier.
realmId*stringID of the realm.
realmSessionId*stringID of the session this transcription belongs to.
userId*string | nullID of the user who spoke, or null if unknown.
ownerTitle*string | nullDisplay name of the speaker at time of recording, or null.
text*stringTranscribed speech text.
startedAt*integerUnix timestamp (ms) when this segment started.
endedAt*integerUnix timestamp (ms) when this segment ended.

Pass nextCursor as the cursor query parameter to fetch the next page. Cursors are opaque; treat them as strings and do not parse their contents.

curl https://realmsofshod.com/api/v1/realms/clxyz.../sessions/ses_abc.../transcriptions \
  -H "Authorization: Bearer ros_your_token_here"
{
  "data": [
    {
      "id": "trn_xyz...",
      "realmId": "clxyz...",
      "realmSessionId": "ses_abc...",
      "userId": "usr_abc...",
      "ownerTitle": "Mordecai",
      "text": "We ride at dawn.",
      "startedAt": 1716000000000,
      "endedAt": 1716000003500
    }
  ],
  "nextCursor": "eyJzIjox...",
  "hasMore": true
}
← Previous: Compendium API