Lore
POST/api/v1/lore/dev
This endpoint is for development workflows - it takes compiled lore_output directly and creates a session without needing a persisted story.
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to create a dev session with inline lore_output.
Response Body
application/json
curl -X POST "https://example.com/api/v1/lore/dev" \ -H "Content-Type: application/json" \ -d '{ "lore_output": null }'{ "session_id": "string", "websocket_url": "string"}GET/api/v1/lore/sessions
curl -X GET "https://example.com/api/v1/lore/sessions"{ "sessions": [ { "connection_id": "string", "created_at": "2019-08-24T14:15:22Z", "id": "string", "last_activity_at": "2019-08-24T14:15:22Z", "state": "created", "story_id": "string", "universe_id": "string", "user_id": "string" } ], "total": 0}POST/api/v1/lore/sessions
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to create a new Lore session.
Response Body
application/json
curl -X POST "https://example.com/api/v1/lore/sessions" \ -H "Content-Type: application/json" \ -d '{ "story_id": "string", "universe_id": "string" }'{ "session": { "connection_id": "string", "created_at": "2019-08-24T14:15:22Z", "id": "string", "last_activity_at": "2019-08-24T14:15:22Z", "state": "created", "story_id": "string", "universe_id": "string", "user_id": "string" }, "websocket_url": "string"}GET/api/v1/lore/sessions/{session_id}
Authorization
bearer_token In: header
Path Parameters
Session ID
Response Body
application/json
curl -X GET "https://example.com/api/v1/lore/sessions/string"{ "connection_id": "string", "created_at": "2019-08-24T14:15:22Z", "id": "string", "last_activity_at": "2019-08-24T14:15:22Z", "state": "created", "story_id": "string", "universe_id": "string", "user_id": "string"}DELETE/api/v1/lore/sessions/{session_id}
Authorization
bearer_token In: header
Path Parameters
Session ID
Response Body
curl -X DELETE "https://example.com/api/v1/lore/sessions/string"GET/api/v1/lore/sessions/{session_id}/checkpoints
Authorization
bearer_token In: header
Path Parameters
Session ID
Response Body
application/json
curl -X GET "https://example.com/api/v1/lore/sessions/string/checkpoints"{ "checkpoints": [ { "name": "string" } ], "total": 0}POST/api/v1/lore/sessions/{session_id}/checkpoints
Authorization
bearer_token In: header
Path Parameters
Session ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to save a checkpoint.
Response Body
application/json
curl -X POST "https://example.com/api/v1/lore/sessions/string/checkpoints" \ -H "Content-Type: application/json" \ -d '{ "data": null, "name": "string" }'{ "name": "string"}GET/api/v1/lore/sessions/{session_id}/checkpoints/{name}
Authorization
bearer_token In: header
Path Parameters
Session ID
Checkpoint name
Response Body
application/json
curl -X GET "https://example.com/api/v1/lore/sessions/string/checkpoints/string"{ "created_at": "2019-08-24T14:15:22Z", "data": null, "name": "string"}POST/api/v1/lore/sessions/{session_id}/command
Authorization
bearer_token In: header
Path Parameters
Session ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to send a player command to a session.
Response Body
curl -X POST "https://example.com/api/v1/lore/sessions/string/command" \ -H "Content-Type: application/json" \ -d '{ "command": "string" }'POST/api/v1/lore/sessions/{session_id}/step
Authorization
bearer_token In: header
Path Parameters
Session ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to advance a running session by one player command and synchronously collect the resulting story events.
Response Body
application/json
curl -X POST "https://example.com/api/v1/lore/sessions/string/step" \ -H "Content-Type: application/json" \ -d '{}'{ "awaiting_input": true, "events": [ { "ackId": "string", "data": null, "event": "string" } ], "session_id": "string", "state": "created"}GET/ws/lore
Unlike the generic WebSocket handler, this sends/receives raw LoreWsMessage
format without any wrapping.
Authorization
bearer_token In: header
Query Parameters
Lore session ID
JWT token (alternative to Authorization header)
Response Body
curl -X GET "https://example.com/ws/lore?session=string"