Get Stream Event Schema
Expose StreamEvent in OpenAPI for frontend type generation. Returns a dummy ``PartEndEvent`` — the important part is the ``response_model`` annotation which puts the full discriminated union into the OpenAPI schema. The bot still emits these inside ``AssistantDeltaEvent.frame`` over Centrifugo.
Authorization
BearerAuth Botyard API key — see /docs/authentication.
In: header
Response Body
application/json
curl -X GET "https://example.com/v1/chat/stream-event-schema"{
"index": 0,
"part": {
"content": "string",
"id": "string",
"provider_name": "string",
"provider_details": {},
"part_kind": "text"
},
"previous_part_kind": "text",
"event_kind": "part_start"
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"error_code": "string",
"errors": [
{
"pointer": "string",
"detail": "string",
"type": "string"
}
],
"trace_id": "string"
}Chat Edit
Edit an already-queued message's content (text and/or attachments). Locates the queued turn by ``request_id`` and rewrites its content in place — the bot swaps the queued payload in its ordering gate so the new content is what dispatches, and the persisted row is updated so the transcript matches. Returns 409 when the message is no longer queued (already dispatched or dismissed) or the bot has no live connection; the edit is a safe no-op in that case.
Read a content block's payload (validated, typed rows)
Return a content block's validated payload rows. Authorization mirrors the conversation file-list route: the viewer must have access to ``conversation_id``. Storage resolution, the server-side read, and validation live in ``ContentBlockService`` (shared with the botyard-mcp content-block tools).