Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.narrative.io/llms.txt

Use this file to discover all available pages before exploring further.

HTTP status: 500

Error message

The detail is generic — the actual field name and decode failure are in the server log, correlated via log_id.

When this error occurs

A GET on a conversation, run, or message list found a row whose JSONB column doesn’t decode into the expected case class. Concretely:
  • agent_conversations.defaults doesn’t decode as ConversationDefaults.
  • agent_runs.effective_config doesn’t decode as ConversationDefaults.
  • agent_runs.tool_choice doesn’t decode as a workflow ToolChoice.
  • agent_runs.pending_tool_calls / submitted_inference_job_ids / usage shape drift.
  • agent_conversation_messages.content_blocks doesn’t decode as List[ContentBlock].
This is almost always a schema-drift bug introduced by a deploy that changed the case-class shape without a migration, or by a hand-edited row.

How to fix

This is a server-side error — there’s nothing the caller can do besides report the log_id to support. Repeat-readers can GET /agents/conversations/{id}/messages?since=N to skip past the broken row if only a single message is affected.