Manifests

Session Manifest schema reference.

Schema version 1

Both /v1/sessions and /v1/public-sessions return this shape. Breaking changes increment schemaVersion.

{
  "schemaVersion": 1,
  "sessionId": "sess_01…",
  "experienceId": "exp_01DEMO1SPANISHCAFE",
  "expiresAt": "2026-06-16T12:30:00Z",
  "sessionToken": "eyJ…",
  "experience": {
    "title": "Spanish Tutor Sofia",
    "slug": "spanish-tutor-sofia",
    "mode": "conversation"
  },
  "transport": { "type": "http", "config": { "apiBaseUrl": "https://api.liforma.ai" } },
  "runtime": {
    "cdnBaseUrl": "https://cdn.liforma.ai",
    "input": "browserStt",
    "renderer": "morph2d"
  },
  "characters": [{
    "characterId": "char_…",
    "displayName": "Sofia",
    "avatarId": "ava_c4e71fe5",
    "voiceId": "es-ES-ElviraNeural",
    "sttLang": "es-ES",
    "agentId": "agt_spanish_tutor"
  }],
  "activeCharacterId": "char_…"
}

Top-level fields

FieldTypeDescription
schemaVersionnumberAlways 1 today
sessionIdstringUnique session identifier
experienceIdstringExperience being run
expiresAtstringISO 8601 expiry
sessionTokenstringJWT for runtime authorisation (SDK internal)
transportobjecttype + config
runtimeobjectCDN URL, input mode, renderer
charactersarrayCharacter definitions
billingobjectMeter ID and payer

Transport types

transport.typeStatus
httpAvailable
livekitFuture transport option
webrtcFuture transport option