← Docs API Reference
Get an API key →
API ReferenceReplay Records

Replay Records

Surface · Replay store

#Replay

Persistent RunRecord storage for replay tooling. Server-side workflow executions write to this store automatically; client-side agents (e.g. sogni-chat) ingest their own records through the public ingest endpoint. Records are server-redacted defense-in-depth on every write.

POST /v1/replay/records Auth required

Ingest a RunRecord. The owner is derived from the authenticated wallet — clients cannot write into someone else's namespace.

#Body

NameTypeInDescription
schemaVersion*integerbodyRunRecord schema version. Must be in the server's supported range.
run_id*stringbodyCaller-chosen run id (max 128 chars). Uniqueness is per-owner.
user_request*stringbodyThe user prompt or request that triggered the run.
rounds*arraybodyRecorded LLM/tool rounds. Server replays for review.
Payload cap. A single record is capped at 1 MB. Larger payloads return 413.

#Response

{
  "runId": "run_…",
  "schemaVersion": 2,
  "redacted": true,
  "createTime": 1731950400,
  "updateTime": 1731950400
}
GET /v1/replay/records Auth required

List recent RunRecords for the caller (summary view).

#Query parameters

NameTypeInDescription
limitintegerqueryDefault 50, max 200.

#Response

{
  "records": [
    {
      "runId": "run_…",
      "schemaVersion": 2,
      "createTime": 1731950400,
      "updateTime": 1731950400,
      "userRequest": "Storyboard a 5-shot neon teaser.",
      "finalResponse": "Here's your storyboard.",
      "modelId": "qwen3.6-35b-a3b-gguf-iq4xs",
      "rounds": 3
    }
  ]
}
GET /v1/replay/records/:id Auth required

Read a full RunRecord (suitable for the replay viewer).

#Response

{
  "record": { "schemaVersion": 2, "run_id": "run_…", "rounds": [ /* … */ ] },
  "createTime": 1731950400
}