{ "components": { "headers": { "X-GC-Request-Id": { "description": "Opaque per-response identifier assigned by the server for log correlation. Every response carries this header.", "schema": { "description": "Opaque per-response identifier assigned by the server for log correlation. Every response carries this header.", "type": "string" } } }, "schemas": { "AdapterCapabilities": { "additionalProperties": false, "properties": { "MaxMessageLength": { "format": "int64", "type": "integer" }, "SupportsAttachments": { "type": "boolean" }, "SupportsChildConversations": { "type": "boolean" } }, "required": [ "SupportsChildConversations", "SupportsAttachments", "MaxMessageLength" ], "type": "object" }, "AdapterEventPayload": { "additionalProperties": false, "properties": { "account_id": { "type": "string" }, "provider": { "type": "string" } }, "required": [ "provider", "account_id" ], "type": "object" }, "AgentCreateInputBody": { "additionalProperties": false, "properties": { "dir": { "description": "Working directory (rig name).", "type": "string" }, "name": { "description": "Agent name.", "examples": [ "deacon-1" ], "minLength": 1, "type": "string" }, "provider": { "description": "Provider name.", "examples": [ "claude" ], "minLength": 1, "type": "string" }, "scope": { "description": "Agent scope.", "type": "string" } }, "required": [ "name", "provider" ], "type": "object" }, "AgentCreatedOutputBody": { "additionalProperties": false, "properties": { "agent": { "description": "Created agent name.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "created" ], "type": "string" } }, "required": [ "status", "agent" ], "type": "object" }, "AgentMapping": { "additionalProperties": false, "properties": { "agent_id": { "type": "string" }, "parent_tool_use_id": { "type": "string" } }, "required": [ "agent_id", "parent_tool_use_id" ], "type": "object" }, "AgentOutputResponse": { "additionalProperties": false, "properties": { "agent": { "type": "string" }, "format": { "type": "string" }, "pagination": { "$ref": "#/components/schemas/PaginationInfo" }, "turns": { "items": { "$ref": "#/components/schemas/OutputTurn" }, "type": [ "array", "null" ] } }, "required": [ "agent", "format", "turns" ], "type": "object" }, "AgentPatch": { "additionalProperties": false, "properties": { "AppendFragments": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "Attach": { "type": [ "boolean", "null" ] }, "DefaultSlingFormula": { "type": [ "string", "null" ] }, "DependsOn": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "Dir": { "type": "string" }, "Env": { "additionalProperties": { "type": "string" }, "type": "object" }, "EnvRemove": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "HooksInstalled": { "type": [ "boolean", "null" ] }, "IdleTimeout": { "type": [ "string", "null" ] }, "InjectAssignedSkills": { "type": [ "boolean", "null" ] }, "InjectFragments": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "InjectFragmentsAppend": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "InstallAgentHooks": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "InstallAgentHooksAppend": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "Lifecycle": { "type": [ "string", "null" ] }, "MCP": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "MCPAppend": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "MaxActiveSessions": { "format": "int64", "type": [ "integer", "null" ] }, "MaxSessionAge": { "type": [ "string", "null" ] }, "MaxSessionAgeJitter": { "type": [ "string", "null" ] }, "MinActiveSessions": { "format": "int64", "type": [ "integer", "null" ] }, "MouseMode": { "type": [ "string", "null" ] }, "Name": { "type": "string" }, "Nudge": { "type": [ "string", "null" ] }, "OptionDefaults": { "additionalProperties": { "type": "string" }, "type": "object" }, "OverlayDir": { "type": [ "string", "null" ] }, "Pool": { "$ref": "#/components/schemas/PoolOverride" }, "PreStart": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "PreStartAppend": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "PromptTemplate": { "type": [ "string", "null" ] }, "Provider": { "type": [ "string", "null" ] }, "ResumeCommand": { "type": [ "string", "null" ] }, "ScaleCheck": { "type": [ "string", "null" ] }, "Scope": { "type": [ "string", "null" ] }, "Session": { "type": [ "string", "null" ] }, "SessionLive": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "SessionLiveAppend": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "SessionSetup": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "SessionSetupAppend": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "SessionSetupScript": { "type": [ "string", "null" ] }, "Skills": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "SkillsAppend": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "SleepAfterIdle": { "type": [ "string", "null" ] }, "StartCommand": { "type": [ "string", "null" ] }, "Suspended": { "type": [ "boolean", "null" ] }, "TmuxAlias": { "type": [ "string", "null" ] }, "WakeMode": { "type": [ "string", "null" ] }, "WorkDir": { "type": [ "string", "null" ] } }, "required": [ "Dir", "Name", "WorkDir", "TmuxAlias", "Scope", "Suspended", "Pool", "Env", "EnvRemove", "PreStart", "PromptTemplate", "Session", "Provider", "StartCommand", "Lifecycle", "Nudge", "IdleTimeout", "MaxSessionAge", "MaxSessionAgeJitter", "SleepAfterIdle", "InstallAgentHooks", "Skills", "MCP", "SkillsAppend", "MCPAppend", "HooksInstalled", "InjectAssignedSkills", "SessionSetup", "SessionSetupScript", "SessionLive", "OverlayDir", "DefaultSlingFormula", "InjectFragments", "AppendFragments", "Attach", "DependsOn", "ResumeCommand", "WakeMode", "MouseMode", "PreStartAppend", "SessionSetupAppend", "SessionLiveAppend", "InstallAgentHooksAppend", "InjectFragmentsAppend", "MaxActiveSessions", "MinActiveSessions", "ScaleCheck", "OptionDefaults" ], "type": "object" }, "AgentPatchSetInputBody": { "additionalProperties": false, "properties": { "dir": { "description": "Agent directory scope.", "type": "string" }, "env": { "additionalProperties": { "type": "string" }, "description": "Override environment variables.", "type": "object" }, "name": { "description": "Agent name.", "type": "string" }, "scope": { "description": "Override agent scope.", "type": "string" }, "suspended": { "description": "Override suspended state.", "type": "boolean" }, "tmux_alias": { "description": "Override tmux session name template.", "type": "string" }, "work_dir": { "description": "Override session working directory.", "type": "string" } }, "type": "object" }, "AgentResponse": { "additionalProperties": false, "properties": { "active_bead": { "type": "string" }, "activity": { "type": "string" }, "available": { "type": "boolean" }, "context_pct": { "format": "int64", "type": "integer" }, "context_window": { "format": "int64", "type": "integer" }, "description": { "type": "string" }, "display_name": { "type": "string" }, "last_output": { "type": "string" }, "model": { "type": "string" }, "name": { "type": "string" }, "pool": { "type": "string" }, "provider": { "type": "string" }, "rig": { "type": "string" }, "running": { "type": "boolean" }, "session": { "$ref": "#/components/schemas/SessionInfo" }, "state": { "type": "string" }, "suspended": { "type": "boolean" }, "unavailable_reason": { "type": "string" } }, "required": [ "name", "running", "suspended", "state", "available" ], "type": "object" }, "AgentUpdateInputBody": { "additionalProperties": false, "properties": { "provider": { "description": "Provider name.", "type": "string" }, "scope": { "description": "Agent scope.", "type": "string" }, "suspended": { "description": "Whether agent is suspended.", "type": "boolean" } }, "type": "object" }, "AgentUpdateQualifiedInputBody": { "additionalProperties": false, "properties": { "provider": { "description": "Provider name.", "type": "string" }, "scope": { "description": "Agent scope.", "type": "string" }, "suspended": { "description": "Whether agent is suspended.", "type": "boolean" } }, "type": "object" }, "AnnotatedAgentResponse": { "additionalProperties": false, "properties": { "dir": { "type": "string" }, "is_pool": { "type": "boolean" }, "name": { "type": "string" }, "origin": { "description": "Agent origin: inline or pack-derived.", "type": "string" }, "provider": { "type": "string" }, "scope": { "type": "string" }, "suspended": { "type": "boolean" } }, "required": [ "name", "suspended", "origin" ], "type": "object" }, "AnnotatedProviderResponse": { "additionalProperties": false, "properties": { "acp_args": { "items": { "type": "string" }, "type": "array" }, "acp_command": { "type": "string" }, "args": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "command": { "type": "string" }, "display_name": { "type": "string" }, "env": { "additionalProperties": { "type": "string" }, "type": "object" }, "origin": { "description": "Provider origin: builtin, city, or builtin+city.", "type": "string" }, "prompt_flag": { "type": "string" }, "prompt_mode": { "type": "string" }, "ready_delay_ms": { "format": "int64", "type": "integer" } }, "required": [ "origin" ], "type": "object" }, "AsyncAcceptedBody": { "additionalProperties": false, "properties": { "event_cursor": { "description": "City event-stream sequence captured before the async request was accepted. Pass this value as after_seq to /v0/city/{cityName}/events/stream to receive the request result without replaying unrelated historical backlog. A value of 0 can also mean no event provider is configured or the event log is empty.", "type": "string" }, "request_id": { "description": "Correlation ID. Watch the city event stream for request.result.session.create, request.result.session.message, request.result.session.submit, or request.failed with this request_id.", "type": "string" }, "status": { "description": "Async request status.", "examples": [ "accepted" ], "type": "string" } }, "required": [ "status", "request_id", "event_cursor" ], "type": "object" }, "AsyncAcceptedResponse": { "additionalProperties": false, "properties": { "event_cursor": { "description": "Supervisor event-stream cursor captured before the async request was accepted. Pass this value as after_cursor to /v0/events/stream to receive the request result without replaying unrelated historical backlog. A value of 0 can also mean no event provider is configured or every event log is empty.", "type": "string" }, "request_id": { "description": "Correlation ID. Watch /v0/events/stream for request.result.city.create, request.result.city.unregister, or request.failed with this request_id.", "type": "string" } }, "required": [ "request_id", "event_cursor" ], "type": "object" }, "Bead": { "additionalProperties": false, "properties": { "assignee": { "type": "string" }, "created_at": { "format": "date-time", "type": "string" }, "defer_until": { "format": "date-time", "type": "string" }, "dependencies": { "items": { "$ref": "#/components/schemas/Dep" }, "type": [ "array", "null" ] }, "description": { "type": "string" }, "ephemeral": { "type": "boolean" }, "from": { "type": "string" }, "id": { "type": "string" }, "issue_type": { "type": "string" }, "labels": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "needs": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "parent": { "type": "string" }, "priority": { "format": "int64", "type": "integer" }, "ref": { "type": "string" }, "status": { "type": "string" }, "title": { "type": "string" }, "updated_at": { "format": "date-time", "type": "string" } }, "required": [ "id", "title", "status", "issue_type", "created_at" ], "type": "object" }, "BeadAssignInputBody": { "additionalProperties": false, "properties": { "assignee": { "description": "Assignee name.", "type": "string" } }, "type": "object" }, "BeadCreateInputBody": { "additionalProperties": false, "properties": { "assignee": { "description": "Assigned agent.", "type": "string" }, "defer_until": { "description": "Hide the bead from ready views until this time.", "format": "date-time", "type": "string" }, "description": { "description": "Bead description.", "type": "string" }, "labels": { "description": "Bead labels.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "metadata": { "additionalProperties": { "type": "string" }, "description": "Metadata key-value pairs to set at create time.", "type": "object" }, "parent": { "description": "Parent bead ID.", "type": "string" }, "priority": { "description": "Bead priority.", "format": "int64", "type": "integer" }, "rig": { "description": "Rig name.", "type": "string" }, "title": { "description": "Bead title.", "minLength": 1, "type": "string" }, "type": { "description": "Bead type.", "type": "string" } }, "required": [ "title" ], "type": "object" }, "BeadDepsResponse": { "additionalProperties": false, "properties": { "children": { "items": { "$ref": "#/components/schemas/Bead" }, "type": [ "array", "null" ] } }, "required": [ "children" ], "type": "object" }, "BeadEventPayload": { "additionalProperties": false, "properties": { "bead": { "$ref": "#/components/schemas/Bead" } }, "required": [ "bead" ], "type": "object" }, "BeadGraphResponse": { "additionalProperties": false, "properties": { "beads": { "items": { "$ref": "#/components/schemas/Bead" }, "type": [ "array", "null" ] }, "deps": { "items": { "$ref": "#/components/schemas/WorkflowDepResponse" }, "type": [ "array", "null" ] }, "root": { "$ref": "#/components/schemas/Bead" } }, "required": [ "root", "beads", "deps" ], "type": "object" }, "BeadUpdateBody": { "additionalProperties": false, "properties": { "assignee": { "description": "Assigned agent.", "type": "string" }, "description": { "description": "Bead description.", "type": "string" }, "labels": { "description": "Bead labels.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "metadata": { "additionalProperties": { "type": "string" }, "description": "Metadata key-value pairs to set.", "type": "object" }, "parent": { "description": "Parent bead ID. Use null or an empty string to clear.", "type": [ "string", "null" ] }, "priority": { "description": "Bead priority.", "format": "int64", "type": "integer" }, "remove_labels": { "description": "Labels to remove.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "status": { "description": "Bead status.", "type": "string" }, "title": { "description": "Bead title.", "type": "string" }, "type": { "description": "Bead type.", "type": "string" } }, "type": "object" }, "BeadWorktreeReapSkippedPayload": { "additionalProperties": false, "properties": { "bead_id": { "type": "string" }, "path": { "type": "string" }, "reason": { "type": "string" }, "rig": { "type": "string" } }, "required": [ "bead_id", "path", "rig", "reason" ], "type": "object" }, "BeadWorktreeReapedPayload": { "additionalProperties": false, "properties": { "bead_id": { "type": "string" }, "branch": { "type": "string" }, "path": { "type": "string" }, "rig": { "type": "string" } }, "required": [ "bead_id", "path", "rig", "branch" ], "type": "object" }, "BeadsDiagnostic": { "additionalProperties": false, "properties": { "beads_store": { "type": "string" }, "native_store_eligible": { "type": "boolean" }, "preflight_gate": { "type": "string" }, "preflight_reason": { "type": "string" } }, "required": [ "beads_store", "native_store_eligible" ], "type": "object" }, "BindingStatus": { "description": "Lifecycle state of a session binding.", "enum": [ "active", "ended" ], "type": "string" }, "BoundEventPayload": { "additionalProperties": false, "properties": { "conversation_id": { "type": "string" }, "provider": { "type": "string" }, "session_id": { "type": "string" } }, "required": [ "provider", "conversation_id", "session_id" ], "type": "object" }, "CityCreateRequest": { "additionalProperties": false, "properties": { "bootstrap_profile": { "description": "Optional bootstrap profile.", "enum": [ "k8s-cell", "kubernetes", "kubernetes-cell", "single-host-compat" ], "type": "string" }, "dir": { "description": "Directory to create the city in. Absolute or relative to $HOME.", "minLength": 1, "type": "string" }, "provider": { "description": "Provider name for the city's default session template. Mutually exclusive with start_command.", "minLength": 1, "type": "string" }, "start_command": { "description": "Custom workspace start command for the city's default session template. Mutually exclusive with provider.", "type": "string" } }, "required": [ "dir" ], "type": "object" }, "CityCreateSucceededPayload": { "additionalProperties": false, "properties": { "name": { "description": "Resolved city name.", "type": "string" }, "path": { "description": "Resolved absolute city directory path.", "type": "string" }, "request_id": { "description": "Correlation ID from the 202 response.", "type": "string" } }, "required": [ "request_id", "name", "path" ], "type": "object" }, "CityGetResponse": { "additionalProperties": false, "properties": { "agent_count": { "format": "int64", "type": "integer" }, "name": { "type": "string" }, "path": { "type": "string" }, "provider": { "type": "string" }, "rig_count": { "format": "int64", "type": "integer" }, "session_template": { "type": "string" }, "suspended": { "type": "boolean" }, "uptime_sec": { "format": "int64", "type": "integer" }, "version": { "type": "string" } }, "required": [ "name", "path", "suspended", "uptime_sec", "agent_count", "rig_count" ], "type": "object" }, "CityInfo": { "additionalProperties": false, "properties": { "error": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "phases_completed": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "running": { "type": "boolean" }, "status": { "type": "string" } }, "required": [ "name", "path", "running" ], "type": "object" }, "CityLifecyclePayload": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "path": { "type": "string" } }, "required": [ "name", "path" ], "type": "object" }, "CityPatchInputBody": { "additionalProperties": false, "properties": { "suspended": { "description": "Whether the city is suspended.", "type": "boolean" } }, "type": "object" }, "CityPendingEntry": { "additionalProperties": false, "properties": { "kind": { "description": "Pending interaction kind (e.g. tool-approval, prompt-for-input).", "type": "string" }, "request_id": { "description": "Pending interaction request ID.", "type": "string" }, "session_id": { "description": "Session ID awaiting a human decision.", "type": "string" } }, "required": [ "session_id", "request_id", "kind" ], "type": "object" }, "CityUnregisterSucceededPayload": { "additionalProperties": false, "properties": { "name": { "description": "City name that was unregistered.", "type": "string" }, "path": { "description": "Absolute city directory path.", "type": "string" }, "request_id": { "description": "Correlation ID from the 202 response.", "type": "string" } }, "required": [ "request_id", "name", "path" ], "type": "object" }, "ConfigAgentResponse": { "additionalProperties": false, "properties": { "dir": { "type": "string" }, "is_pool": { "type": "boolean" }, "name": { "type": "string" }, "provider": { "type": "string" }, "scope": { "type": "string" }, "suspended": { "type": "boolean" } }, "required": [ "name", "suspended" ], "type": "object" }, "ConfigExplainPatches": { "additionalProperties": false, "properties": { "agents": { "format": "int64", "type": "integer" }, "providers": { "format": "int64", "type": "integer" }, "rigs": { "format": "int64", "type": "integer" } }, "required": [ "agents", "rigs", "providers" ], "type": "object" }, "ConfigExplainResponse": { "additionalProperties": false, "properties": { "agents": { "items": { "$ref": "#/components/schemas/AnnotatedAgentResponse" }, "type": [ "array", "null" ] }, "patches": { "$ref": "#/components/schemas/ConfigExplainPatches" }, "providers": { "additionalProperties": { "$ref": "#/components/schemas/AnnotatedProviderResponse" }, "type": "object" } }, "required": [ "agents", "providers", "patches" ], "type": "object" }, "ConfigPatchesResponse": { "additionalProperties": false, "properties": { "agent_count": { "format": "int64", "type": "integer" }, "provider_count": { "format": "int64", "type": "integer" }, "rig_count": { "format": "int64", "type": "integer" } }, "required": [ "agent_count", "rig_count", "provider_count" ], "type": "object" }, "ConfigResponse": { "additionalProperties": false, "properties": { "agents": { "items": { "$ref": "#/components/schemas/ConfigAgentResponse" }, "type": [ "array", "null" ] }, "effective_api_url": { "type": "string" }, "patches": { "$ref": "#/components/schemas/ConfigPatchesResponse" }, "providers": { "additionalProperties": { "$ref": "#/components/schemas/ProviderSpecJSON" }, "type": "object" }, "rigs": { "items": { "$ref": "#/components/schemas/ConfigRigResponse" }, "type": [ "array", "null" ] }, "workspace": { "$ref": "#/components/schemas/WorkspaceResponse" } }, "required": [ "workspace", "agents", "rigs" ], "type": "object" }, "ConfigRigResponse": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "prefix": { "type": "string" }, "suspended": { "type": "boolean" } }, "required": [ "name", "path", "suspended" ], "type": "object" }, "ConfigValidateOutputBody": { "additionalProperties": false, "properties": { "errors": { "description": "Validation errors.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "valid": { "description": "Whether the configuration is valid.", "type": "boolean" }, "warnings": { "description": "Validation warnings.", "items": { "type": "string" }, "type": [ "array", "null" ] } }, "required": [ "valid", "errors", "warnings" ], "type": "object" }, "ConversationGroupParticipant": { "additionalProperties": false, "properties": { "GroupID": { "type": "string" }, "Handle": { "type": "string" }, "ID": { "type": "string" }, "Metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "Public": { "type": "boolean" }, "SessionID": { "type": "string" } }, "required": [ "ID", "GroupID", "Handle", "SessionID", "Public", "Metadata" ], "type": "object" }, "ConversationGroupRecord": { "additionalProperties": false, "properties": { "DefaultHandle": { "type": "string" }, "FanoutPolicy": { "$ref": "#/components/schemas/FanoutPolicy" }, "ID": { "type": "string" }, "LastAddressedHandle": { "type": "string" }, "Metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "Mode": { "type": "string" }, "RootConversation": { "$ref": "#/components/schemas/ConversationRef" }, "SchemaVersion": { "format": "int64", "type": "integer" } }, "required": [ "ID", "SchemaVersion", "RootConversation", "Mode", "DefaultHandle", "LastAddressedHandle", "FanoutPolicy", "Metadata" ], "type": "object" }, "ConversationKind": { "description": "Shape of a conversation.", "enum": [ "dm", "room", "thread" ], "type": "string" }, "ConversationRef": { "additionalProperties": false, "properties": { "account_id": { "type": "string" }, "conversation_id": { "type": "string" }, "kind": { "$ref": "#/components/schemas/ConversationKind" }, "parent_conversation_id": { "type": "string" }, "provider": { "type": "string" }, "scope_id": { "type": "string" } }, "required": [ "scope_id", "provider", "account_id", "conversation_id", "kind" ], "type": "object" }, "ConversationTranscriptRecord": { "additionalProperties": false, "properties": { "Actor": { "$ref": "#/components/schemas/ExternalActor" }, "Attachments": { "items": { "$ref": "#/components/schemas/ExternalAttachment" }, "type": [ "array", "null" ] }, "Conversation": { "$ref": "#/components/schemas/ConversationRef" }, "CreatedAt": { "format": "date-time", "type": "string" }, "ExplicitTarget": { "type": "string" }, "ID": { "type": "string" }, "Kind": { "$ref": "#/components/schemas/TranscriptMessageKind" }, "Metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "Provenance": { "$ref": "#/components/schemas/TranscriptProvenance" }, "ProviderMessageID": { "type": "string" }, "ReplyToMessageID": { "type": "string" }, "SchemaVersion": { "format": "int64", "type": "integer" }, "Sequence": { "format": "int64", "type": "integer" }, "SourceSessionID": { "type": "string" }, "Text": { "type": "string" } }, "required": [ "ID", "SchemaVersion", "Conversation", "Sequence", "Kind", "Provenance", "ProviderMessageID", "Actor", "Text", "ExplicitTarget", "ReplyToMessageID", "Attachments", "SourceSessionID", "CreatedAt", "Metadata" ], "type": "object" }, "ConvoyAddInputBody": { "additionalProperties": false, "properties": { "items": { "description": "Bead IDs to add.", "items": { "type": "string" }, "type": [ "array", "null" ] } }, "type": "object" }, "ConvoyCheckResponse": { "additionalProperties": false, "properties": { "closed": { "description": "Closed child bead count.", "format": "int64", "type": "integer" }, "complete": { "description": "True when all child beads are closed and total \u003e 0.", "type": "boolean" }, "convoy_id": { "description": "Convoy ID.", "type": "string" }, "total": { "description": "Total child bead count.", "format": "int64", "type": "integer" } }, "required": [ "convoy_id", "total", "closed", "complete" ], "type": "object" }, "ConvoyCreateInputBody": { "additionalProperties": false, "properties": { "items": { "description": "Bead IDs to include.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "rig": { "description": "Rig name.", "type": "string" }, "title": { "description": "Convoy title.", "minLength": 1, "type": "string" } }, "required": [ "title" ], "type": "object" }, "ConvoyGetResponse": { "additionalProperties": false, "properties": { "children": { "description": "Direct child beads (non-workflow case).", "items": { "$ref": "#/components/schemas/Bead" }, "type": [ "array", "null" ] }, "convoy": { "$ref": "#/components/schemas/Bead", "description": "Simple convoy bead (non-workflow case)." }, "progress": { "$ref": "#/components/schemas/ConvoyProgress", "description": "Child bead progress (non-workflow case)." } }, "type": "object" }, "ConvoyProgress": { "additionalProperties": false, "properties": { "closed": { "description": "Closed child bead count.", "format": "int64", "type": "integer" }, "total": { "description": "Total child bead count.", "format": "int64", "type": "integer" } }, "required": [ "total", "closed" ], "type": "object" }, "ConvoyRemoveInputBody": { "additionalProperties": false, "properties": { "items": { "description": "Bead IDs to remove.", "items": { "type": "string" }, "type": [ "array", "null" ] } }, "type": "object" }, "DeliveryContextRecord": { "additionalProperties": false, "properties": { "BindingGeneration": { "format": "int64", "type": "integer" }, "Conversation": { "$ref": "#/components/schemas/ConversationRef" }, "ID": { "type": "string" }, "LastMessageID": { "type": "string" }, "LastPublishedAt": { "format": "date-time", "type": "string" }, "Metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "SchemaVersion": { "format": "int64", "type": "integer" }, "SessionID": { "type": "string" }, "SourceSessionID": { "type": "string" } }, "required": [ "ID", "SchemaVersion", "SessionID", "Conversation", "BindingGeneration", "LastPublishedAt", "LastMessageID", "SourceSessionID", "Metadata" ], "type": "object" }, "Dep": { "additionalProperties": false, "properties": { "depends_on_id": { "type": "string" }, "issue_id": { "type": "string" }, "type": { "type": "string" } }, "required": [ "issue_id", "depends_on_id", "type" ], "type": "object" }, "ErrorDetail": { "additionalProperties": false, "properties": { "location": { "description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'", "type": "string" }, "message": { "description": "Error message text", "type": "string" }, "value": { "description": "The value at the given location" } }, "type": "object" }, "ErrorModel": { "additionalProperties": false, "properties": { "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.", "examples": [ "Property foo is required but is missing." ], "type": "string" }, "errors": { "description": "Optional list of individual error details", "items": { "$ref": "#/components/schemas/ErrorDetail" }, "type": [ "array", "null" ] }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem.", "examples": [ "https://example.com/error-log/abc123" ], "format": "uri", "type": "string" }, "status": { "description": "HTTP status code", "examples": [ 400 ], "format": "int64", "type": "integer" }, "title": { "description": "A short, human-readable summary of the problem type. This value should not change between occurrences of the error.", "examples": [ "Bad Request" ], "type": "string" }, "type": { "default": "about:blank", "description": "A URI reference to human-readable documentation for the error.", "examples": [ "https://example.com/errors/example", "urn:gascity:error:sling-missing-bead", "urn:gascity:error:sling-cross-rig", "urn:gascity:error:sling-cross-store-route" ], "format": "uri", "type": "string", "x-gascity-problem-types": [ "urn:gascity:error:sling-missing-bead", "urn:gascity:error:sling-cross-rig", "urn:gascity:error:sling-cross-store-route" ] } }, "type": "object" }, "EventEmitOutputBody": { "additionalProperties": false, "properties": { "status": { "description": "Operation result.", "examples": [ "recorded" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "EventEmitRequest": { "additionalProperties": false, "properties": { "actor": { "description": "Actor that produced the event.", "minLength": 1, "type": "string" }, "message": { "description": "Event message.", "type": "string" }, "subject": { "description": "Event subject.", "type": "string" }, "type": { "description": "Event type.", "minLength": 1, "type": "string" } }, "required": [ "type", "actor" ], "type": "object" }, "EventPayload": { "oneOf": [ { "$ref": "#/components/schemas/AdapterEventPayload" }, { "$ref": "#/components/schemas/BeadEventPayload" }, { "$ref": "#/components/schemas/BeadWorktreeReapSkippedPayload" }, { "$ref": "#/components/schemas/BeadWorktreeReapedPayload" }, { "$ref": "#/components/schemas/BoundEventPayload" }, { "$ref": "#/components/schemas/CityCreateSucceededPayload" }, { "$ref": "#/components/schemas/CityLifecyclePayload" }, { "$ref": "#/components/schemas/CityUnregisterSucceededPayload" }, { "$ref": "#/components/schemas/GroupCreatedEventPayload" }, { "$ref": "#/components/schemas/InboundEventPayload" }, { "$ref": "#/components/schemas/MailEventPayload" }, { "$ref": "#/components/schemas/NoPayload" }, { "$ref": "#/components/schemas/OutboundEventPayload" }, { "$ref": "#/components/schemas/PostgresCredentialResolvedPayload" }, { "$ref": "#/components/schemas/ProjectIdentityStampedPayload" }, { "$ref": "#/components/schemas/RequestFailedPayload" }, { "$ref": "#/components/schemas/RotatedPayload" }, { "$ref": "#/components/schemas/SessionCreateSucceededPayload" }, { "$ref": "#/components/schemas/SessionDrainAckedWithAssignedWorkPayload" }, { "$ref": "#/components/schemas/SessionLifecyclePayload" }, { "$ref": "#/components/schemas/SessionMessageSucceededPayload" }, { "$ref": "#/components/schemas/SessionResetStalledPayload" }, { "$ref": "#/components/schemas/SessionSubmitSucceededPayload" }, { "$ref": "#/components/schemas/StoreMaintenanceDonePayload" }, { "$ref": "#/components/schemas/StoreMaintenanceFailedPayload" }, { "$ref": "#/components/schemas/SupervisorFSPressureSkippedTickPayload" }, { "$ref": "#/components/schemas/SupervisorShutdownPayload" }, { "$ref": "#/components/schemas/UnboundEventPayload" }, { "$ref": "#/components/schemas/WorkerOperationEventPayload" } ] }, "EventRotateAnchor": { "additionalProperties": false, "properties": { "seq": { "description": "Anchor event sequence.", "format": "int64", "minimum": 0, "type": "integer" }, "ts": { "description": "Anchor event timestamp.", "format": "date-time", "type": "string" }, "type": { "description": "Anchor event type.", "examples": [ "events.rotated" ], "type": "string" } }, "required": [ "seq", "type", "ts" ], "type": "object" }, "EventRotateArchive": { "additionalProperties": false, "properties": { "compression_status": { "description": "Archive compression status.", "enum": [ "pending", "complete" ], "type": "string" }, "first_seq": { "description": "First event sequence included in the archive.", "format": "int64", "minimum": 0, "type": "integer" }, "last_seq": { "description": "Last event sequence included in the archive.", "format": "int64", "minimum": 0, "type": "integer" }, "path": { "description": "Absolute path to the archive.", "type": "string" } }, "required": [ "path", "first_seq", "last_seq", "compression_status" ], "type": "object" }, "EventRotateResponse": { "additionalProperties": false, "properties": { "anchor_event": { "$ref": "#/components/schemas/EventRotateAnchor", "description": "Anchor event metadata when rotated is true." }, "archive": { "$ref": "#/components/schemas/EventRotateArchive", "description": "Archive metadata when rotated is true." }, "reason": { "description": "No-op reason when rotated is false.", "type": "string" }, "rotated": { "description": "Whether an archive was produced.", "type": "boolean" } }, "required": [ "rotated" ], "type": "object" }, "EventStreamEnvelope": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/EventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor" ], "type": "object" }, "ExtMsgAdapterRegisterInputBody": { "additionalProperties": false, "properties": { "account_id": { "description": "Account ID.", "minLength": 1, "type": "string" }, "callback_url": { "description": "Callback URL for outbound messages.", "type": "string" }, "capabilities": { "$ref": "#/components/schemas/AdapterCapabilities", "description": "Adapter capabilities." }, "name": { "description": "Adapter display name.", "type": "string" }, "provider": { "description": "Provider name.", "minLength": 1, "type": "string" } }, "required": [ "provider", "account_id" ], "type": "object" }, "ExtMsgAdapterRegisterOutputBody": { "additionalProperties": false, "properties": { "account_id": { "description": "Account ID.", "type": "string" }, "name": { "description": "Adapter name.", "type": "string" }, "provider": { "description": "Provider name.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "registered" ], "type": "string" } }, "required": [ "status", "provider", "account_id", "name" ], "type": "object" }, "ExtMsgAdapterUnregisterInputBody": { "additionalProperties": false, "properties": { "account_id": { "description": "Account ID.", "minLength": 1, "type": "string" }, "provider": { "description": "Provider name.", "minLength": 1, "type": "string" } }, "required": [ "provider", "account_id" ], "type": "object" }, "ExtMsgBindInputBody": { "additionalProperties": false, "properties": { "conversation": { "$ref": "#/components/schemas/ConversationRef", "description": "Conversation to bind." }, "metadata": { "additionalProperties": { "type": "string" }, "description": "Optional binding metadata.", "type": "object" }, "session_id": { "description": "Session ID to bind.", "minLength": 1, "type": "string" } }, "required": [ "session_id" ], "type": "object" }, "ExtMsgGroupEnsureInputBody": { "additionalProperties": false, "properties": { "default_handle": { "description": "Default handle for the group.", "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, "description": "Group metadata.", "type": "object" }, "mode": { "description": "Group mode (launcher, etc.).", "type": "string" }, "root_conversation": { "$ref": "#/components/schemas/ConversationRef", "description": "Root conversation reference." } }, "type": "object" }, "ExtMsgInboundInputBody": { "additionalProperties": false, "properties": { "account_id": { "description": "Account ID for raw payloads (required when message is absent).", "type": "string" }, "message": { "$ref": "#/components/schemas/ExternalInboundMessage", "description": "Pre-normalized inbound message." }, "payload": { "contentEncoding": "base64", "description": "Raw payload bytes.", "type": "string" }, "provider": { "description": "Provider name for raw payloads (required when message is absent).", "type": "string" } }, "type": "object" }, "ExtMsgOutboundInputBody": { "additionalProperties": false, "properties": { "conversation": { "$ref": "#/components/schemas/ConversationRef", "description": "Target conversation." }, "idempotency_key": { "description": "Idempotency key.", "type": "string" }, "reply_to_message_id": { "description": "Message ID to reply to.", "type": "string" }, "session_id": { "description": "Session ID.", "minLength": 1, "type": "string" }, "text": { "description": "Message text.", "type": "string" } }, "required": [ "session_id" ], "type": "object" }, "ExtMsgParticipantRemoveInputBody": { "additionalProperties": false, "properties": { "group_id": { "description": "Group ID.", "minLength": 1, "type": "string" }, "handle": { "description": "Participant handle.", "minLength": 1, "type": "string" } }, "required": [ "group_id", "handle" ], "type": "object" }, "ExtMsgParticipantUpsertInputBody": { "additionalProperties": false, "properties": { "group_id": { "description": "Group ID.", "minLength": 1, "type": "string" }, "handle": { "description": "Participant handle.", "minLength": 1, "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, "description": "Participant metadata.", "type": "object" }, "public": { "description": "Whether participant is public.", "type": "boolean" }, "session_id": { "description": "Session ID.", "minLength": 1, "type": "string" } }, "required": [ "group_id", "handle", "session_id" ], "type": "object" }, "ExtMsgTranscriptAckInputBody": { "additionalProperties": false, "properties": { "conversation": { "$ref": "#/components/schemas/ConversationRef", "description": "Conversation to acknowledge." }, "sequence": { "description": "Sequence number to acknowledge up to.", "format": "int64", "type": "integer" }, "session_id": { "description": "Session ID.", "minLength": 1, "type": "string" } }, "required": [ "session_id" ], "type": "object" }, "ExtMsgUnbindBody": { "additionalProperties": false, "properties": { "unbound": { "description": "Bindings that were removed.", "items": { "$ref": "#/components/schemas/SessionBindingRecord" }, "type": [ "array", "null" ] } }, "required": [ "unbound" ], "type": "object" }, "ExtMsgUnbindInputBody": { "additionalProperties": false, "properties": { "conversation": { "$ref": "#/components/schemas/ConversationRef", "description": "Conversation to unbind (nil = all)." }, "session_id": { "description": "Session ID to unbind.", "minLength": 1, "type": "string" } }, "required": [ "session_id" ], "type": "object" }, "ExternalActor": { "additionalProperties": false, "properties": { "display_name": { "type": "string" }, "id": { "type": "string" }, "is_bot": { "type": "boolean" } }, "required": [ "id", "display_name", "is_bot" ], "type": "object" }, "ExternalAttachment": { "additionalProperties": false, "properties": { "mime_type": { "type": "string" }, "provider_id": { "type": "string" }, "url": { "type": "string" } }, "required": [ "provider_id", "url", "mime_type" ], "type": "object" }, "ExternalInboundMessage": { "additionalProperties": false, "properties": { "actor": { "$ref": "#/components/schemas/ExternalActor" }, "attachments": { "items": { "$ref": "#/components/schemas/ExternalAttachment" }, "type": [ "array", "null" ] }, "conversation": { "$ref": "#/components/schemas/ConversationRef" }, "dedup_key": { "type": "string" }, "explicit_target": { "type": "string" }, "provider_message_id": { "type": "string" }, "received_at": { "format": "date-time", "type": "string" }, "reply_to_message_id": { "type": "string" }, "text": { "type": "string" } }, "required": [ "provider_message_id", "conversation", "actor", "text", "received_at" ], "type": "object" }, "ExtmsgAdapterInfo": { "additionalProperties": false, "properties": { "account_id": { "description": "Adapter account ID.", "type": "string" }, "name": { "description": "Adapter display name.", "type": "string" }, "provider": { "description": "Adapter provider key.", "type": "string" } }, "required": [ "provider", "account_id", "name" ], "type": "object" }, "FanoutPolicy": { "additionalProperties": false, "properties": { "AllowUntargetedPublication": { "type": "boolean" }, "Enabled": { "type": "boolean" }, "MaxPeerTriggeredPublishes": { "format": "int64", "type": "integer" }, "MaxTotalPeerDeliveries": { "format": "int64", "type": "integer" } }, "required": [ "Enabled", "AllowUntargetedPublication", "MaxPeerTriggeredPublishes", "MaxTotalPeerDeliveries" ], "type": "object" }, "FormulaDetailResponse": { "additionalProperties": false, "properties": { "deps": { "items": { "$ref": "#/components/schemas/FormulaPreviewEdgeResponse" }, "type": [ "array", "null" ] }, "description": { "type": "string" }, "name": { "type": "string" }, "preview": { "$ref": "#/components/schemas/FormulaPreviewResponse" }, "steps": { "items": { "$ref": "#/components/schemas/FormulaStepResponse" }, "type": [ "array", "null" ] }, "var_defs": { "items": { "$ref": "#/components/schemas/FormulaVarDefResponse" }, "type": [ "array", "null" ] } }, "required": [ "name", "description", "var_defs", "steps", "deps", "preview" ], "type": "object" }, "FormulaFeedBody": { "additionalProperties": false, "properties": { "items": { "items": { "$ref": "#/components/schemas/MonitorFeedItemResponse" }, "type": [ "array", "null" ] }, "partial": { "type": "boolean" }, "partial_errors": { "items": { "type": "string" }, "type": [ "array", "null" ] } }, "required": [ "items", "partial" ], "type": "object" }, "FormulaListBody": { "additionalProperties": false, "properties": { "items": { "description": "Formula summaries.", "items": { "$ref": "#/components/schemas/FormulaSummaryResponse" }, "type": [ "array", "null" ] }, "partial": { "description": "Whether the list is partial.", "type": "boolean" }, "total": { "description": "Total number of formulas in the list.", "format": "int64", "type": "integer" } }, "required": [ "items", "total", "partial" ], "type": "object" }, "FormulaPreviewBody": { "additionalProperties": false, "properties": { "scope_kind": { "description": "Scope kind (city or rig).", "type": "string" }, "scope_ref": { "description": "Scope reference.", "type": "string" }, "target": { "description": "Target agent for preview compilation.", "minLength": 1, "type": "string" }, "vars": { "additionalProperties": { "type": "string" }, "description": "Variable name-to-value overrides applied to the compiled preview.", "type": "object" } }, "required": [ "target" ], "type": "object" }, "FormulaPreviewEdgeResponse": { "additionalProperties": false, "properties": { "from": { "type": "string" }, "kind": { "type": "string" }, "to": { "type": "string" } }, "required": [ "from", "to" ], "type": "object" }, "FormulaPreviewNodeResponse": { "additionalProperties": false, "properties": { "id": { "type": "string" }, "kind": { "type": "string" }, "scope_ref": { "type": "string" }, "title": { "type": "string" } }, "required": [ "id", "title", "kind" ], "type": "object" }, "FormulaPreviewResponse": { "additionalProperties": false, "properties": { "edges": { "items": { "$ref": "#/components/schemas/FormulaPreviewEdgeResponse" }, "type": [ "array", "null" ] }, "nodes": { "items": { "$ref": "#/components/schemas/FormulaPreviewNodeResponse" }, "type": [ "array", "null" ] } }, "required": [ "nodes", "edges" ], "type": "object" }, "FormulaRecentRunResponse": { "additionalProperties": false, "properties": { "started_at": { "type": "string" }, "status": { "type": "string" }, "target": { "type": "string" }, "updated_at": { "type": "string" }, "workflow_id": { "type": "string" } }, "required": [ "workflow_id", "status", "target", "started_at", "updated_at" ], "type": "object" }, "FormulaRunsResponse": { "additionalProperties": false, "properties": { "formula": { "type": "string" }, "partial": { "type": "boolean" }, "partial_errors": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "recent_runs": { "items": { "$ref": "#/components/schemas/FormulaRecentRunResponse" }, "type": [ "array", "null" ] }, "run_count": { "format": "int64", "type": "integer" } }, "required": [ "formula", "run_count", "recent_runs", "partial" ], "type": "object" }, "FormulaStepResponse": { "additionalProperties": false, "properties": { "assignee": { "type": "string" }, "id": { "type": "string" }, "kind": { "type": "string" }, "labels": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "title": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "title", "kind" ], "type": "object" }, "FormulaSummaryResponse": { "additionalProperties": false, "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "recent_runs": { "items": { "$ref": "#/components/schemas/FormulaRecentRunResponse" }, "type": [ "array", "null" ] }, "run_count": { "format": "int64", "type": "integer" }, "var_defs": { "items": { "$ref": "#/components/schemas/FormulaVarDefResponse" }, "type": [ "array", "null" ] } }, "required": [ "name", "description", "var_defs", "run_count", "recent_runs" ], "type": "object" }, "FormulaVarDefResponse": { "additionalProperties": false, "properties": { "default": {}, "description": { "type": "string" }, "enum": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "name": { "type": "string" }, "pattern": { "type": "string" }, "required": { "type": "boolean" }, "type": { "type": "string" } }, "required": [ "name", "type" ], "type": "object" }, "GitStatus": { "additionalProperties": false, "properties": { "ahead": { "format": "int64", "type": "integer" }, "behind": { "format": "int64", "type": "integer" }, "branch": { "type": "string" }, "changed_files": { "format": "int64", "type": "integer" }, "clean": { "type": "boolean" } }, "required": [ "branch", "clean", "changed_files", "ahead", "behind" ], "type": "object" }, "GroupCreatedEventPayload": { "additionalProperties": false, "properties": { "conversation_id": { "type": "string" }, "mode": { "type": "string" }, "provider": { "type": "string" } }, "required": [ "provider", "conversation_id", "mode" ], "type": "object" }, "GroupRouteDecision": { "additionalProperties": false, "properties": { "Match": { "type": "string" }, "TargetSessionID": { "type": "string" }, "UpdateCursor": { "type": "boolean" } }, "required": [ "Match", "TargetSessionID", "UpdateCursor" ], "type": "object" }, "HealthOutputBody": { "additionalProperties": false, "properties": { "city": { "description": "City name.", "type": "string" }, "status": { "description": "Health status.", "examples": [ "ok" ], "type": "string" }, "uptime_sec": { "description": "Server uptime in seconds.", "format": "int64", "type": "integer" }, "version": { "description": "Server version.", "type": "string" } }, "required": [ "status", "uptime_sec" ], "type": "object" }, "HeartbeatEvent": { "additionalProperties": false, "properties": { "timestamp": { "description": "ISO 8601 timestamp when the heartbeat was sent.", "type": "string" } }, "required": [ "timestamp" ], "type": "object" }, "InboundEventPayload": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "conversation_id": { "type": "string" }, "provider": { "type": "string" }, "target_session": { "type": "string" } }, "required": [ "provider", "conversation_id", "actor", "target_session" ], "type": "object" }, "InboundResult": { "additionalProperties": false, "properties": { "Binding": { "$ref": "#/components/schemas/SessionBindingRecord" }, "GroupRoute": { "$ref": "#/components/schemas/GroupRouteDecision" }, "Message": { "$ref": "#/components/schemas/ExternalInboundMessage" }, "TargetSessionID": { "type": "string" }, "TranscriptEntry": { "$ref": "#/components/schemas/ConversationTranscriptRecord" } }, "required": [ "Message", "Binding", "GroupRoute", "TranscriptEntry", "TargetSessionID" ], "type": "object" }, "ListBodyAgentPatch": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/AgentPatch" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyAgentResponse": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/AgentResponse" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyBead": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/Bead" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyCityPendingEntry": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/CityPendingEntry" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyConversationTranscriptRecord": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/ConversationTranscriptRecord" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyExtmsgAdapterInfo": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/ExtmsgAdapterInfo" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyProviderPatch": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/ProviderPatch" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyProviderResponse": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/ProviderResponse" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyRigPatch": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/RigPatch" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyRigResponse": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/RigResponse" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodySessionBindingRecord": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/SessionBindingRecord" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodySessionResponse": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/SessionResponse" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyStatus": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/Status" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ListBodyWireEvent": { "additionalProperties": false, "properties": { "items": { "description": "The list of items.", "items": { "$ref": "#/components/schemas/TypedEventStreamEnvelope" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more backends failed and the list is incomplete.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from backends that failed during aggregation.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of items matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "LogicalNode": { "additionalProperties": false, "type": "object" }, "MailCountOutputBody": { "additionalProperties": false, "properties": { "partial": { "description": "True when one or more rig providers failed and the counts are not authoritative.", "type": "boolean" }, "partial_errors": { "description": "Per-provider errors when partial is true.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total message count.", "format": "int64", "type": "integer" }, "unread": { "description": "Unread message count.", "format": "int64", "type": "integer" } }, "required": [ "total", "unread" ], "type": "object" }, "MailEventPayload": { "additionalProperties": false, "properties": { "message": { "$ref": "#/components/schemas/Message" }, "rig": { "type": "string" } }, "required": [ "rig" ], "type": "object" }, "MailListBody": { "additionalProperties": false, "properties": { "items": { "description": "The list of messages.", "items": { "$ref": "#/components/schemas/Message" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "partial": { "description": "True when one or more rig providers failed and the list is not authoritative.", "type": "boolean" }, "partial_errors": { "description": "Per-provider errors when partial is true.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "total": { "description": "Total number of messages matching the query.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "MailReplyInputBody": { "additionalProperties": false, "properties": { "body": { "description": "Reply body.", "type": "string" }, "from": { "description": "Sender name.", "type": "string" }, "subject": { "description": "Reply subject.", "type": "string" } }, "type": "object" }, "MailSendInputBody": { "additionalProperties": false, "properties": { "body": { "description": "Message body.", "type": "string" }, "from": { "description": "Sender name.", "type": "string" }, "rig": { "description": "Rig name.", "type": "string" }, "subject": { "description": "Message subject.", "minLength": 1, "type": "string" }, "to": { "description": "Recipient name.", "minLength": 1, "type": "string" } }, "required": [ "to", "subject" ], "type": "object" }, "MaintenanceRunBody": { "additionalProperties": false, "properties": { "after_bytes": { "description": "Store size in bytes after the run (0 when not measured).", "format": "int64", "type": "integer" }, "before_bytes": { "description": "Store size in bytes before the run (0 when not measured).", "format": "int64", "type": "integer" }, "duration_s": { "description": "Elapsed wall-clock seconds between started_at and finished_at.", "format": "double", "type": "number" }, "err": { "description": "Error message when Stage names a failing phase; empty on success.", "type": "string" }, "finished_at": { "description": "RFC3339 timestamp when the run completed.", "type": "string" }, "snapshot_path": { "description": "Absolute path to the snapshot directory created for this run.", "type": "string" }, "stage": { "description": "Outcome stage: 'done' on success or 'backup'/'gc'/'smoke-test'/'prune' on failure.", "type": "string" }, "started_at": { "description": "RFC3339 timestamp when the run began.", "type": "string" } }, "required": [ "started_at", "finished_at", "stage", "before_bytes", "after_bytes", "duration_s" ], "type": "object" }, "MaintenanceStatusBody": { "additionalProperties": false, "properties": { "enabled": { "description": "Whether [maintenance.dolt] enabled=true in city.toml.", "type": "boolean" }, "history": { "description": "Bounded ring of recent run outcomes (oldest first).", "items": { "$ref": "#/components/schemas/MaintenanceRunBody" }, "type": [ "array", "null" ] }, "in_flight": { "description": "True when a maintenance cycle is currently running.", "type": "boolean" }, "in_flight_start": { "description": "RFC3339 start time of the in-flight run.", "type": "string" }, "interval_seconds": { "description": "Configured scheduling interval in seconds (0 when disabled).", "format": "int64", "type": "integer" }, "last_run": { "$ref": "#/components/schemas/MaintenanceRunBody", "description": "Most recent completed run, or null when none." }, "next_scheduled": { "description": "RFC3339 approximate next scheduled run time.", "type": "string" } }, "required": [ "enabled", "interval_seconds", "in_flight", "history" ], "type": "object" }, "MaintenanceTriggerBody": { "additionalProperties": false, "properties": { "accepted": { "description": "True when the supervisor accepted the trigger (202) or completed it (200).", "type": "boolean" }, "run": { "$ref": "#/components/schemas/MaintenanceRunBody", "description": "Full run summary, populated when the caller set ?wait=true." }, "started_at": { "description": "RFC3339 start time of the triggered run; doubles as a run identifier for async callers.", "type": "string" } }, "required": [ "accepted" ], "type": "object" }, "Message": { "additionalProperties": false, "properties": { "body": { "type": "string" }, "cc": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "created_at": { "format": "date-time", "type": "string" }, "from": { "type": "string" }, "id": { "type": "string" }, "priority": { "format": "int64", "type": "integer" }, "read": { "type": "boolean" }, "reply_to": { "type": "string" }, "rig": { "type": "string" }, "subject": { "type": "string" }, "thread_id": { "type": "string" }, "to": { "type": "string" } }, "required": [ "id", "from", "to", "subject", "body", "created_at", "read" ], "type": "object" }, "MonitorFeedItemResponse": { "additionalProperties": false, "properties": { "attached_bead_id": { "type": "string" }, "bead_id": { "type": "string" }, "detail_available": { "type": "boolean" }, "id": { "type": "string" }, "logical_bead_id": { "type": "string" }, "root_bead_id": { "type": "string" }, "root_store_ref": { "type": "string" }, "run_detail_available": { "type": "boolean" }, "scope_kind": { "type": "string" }, "scope_ref": { "type": "string" }, "started_at": { "type": "string" }, "status": { "type": "string" }, "store_ref": { "type": "string" }, "target": { "type": "string" }, "title": { "type": "string" }, "type": { "type": "string" }, "updated_at": { "type": "string" }, "workflow_id": { "type": "string" } }, "required": [ "id", "type", "status", "title", "scope_kind", "scope_ref", "target", "started_at", "updated_at" ], "type": "object" }, "NoPayload": { "additionalProperties": false, "type": "object" }, "OKResponseBody": { "additionalProperties": false, "properties": { "status": { "description": "Operation result.", "examples": [ "ok" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "OKWithIDResponseBody": { "additionalProperties": false, "properties": { "id": { "description": "Resource ID.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "ok" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "OptionChoiceDTO": { "additionalProperties": false, "properties": { "label": { "type": "string" }, "value": { "type": "string" } }, "required": [ "value", "label" ], "type": "object" }, "OrderCheckListBody": { "additionalProperties": false, "properties": { "checks": { "description": "Order trigger evaluations.", "items": { "$ref": "#/components/schemas/OrderCheckResponse" }, "type": [ "array", "null" ] } }, "required": [ "checks" ], "type": "object" }, "OrderCheckResponse": { "additionalProperties": false, "properties": { "due": { "type": "boolean" }, "last_run": { "type": "string" }, "last_run_outcome": { "type": "string" }, "name": { "type": "string" }, "reason": { "type": "string" }, "rig": { "type": "string" }, "scoped_name": { "type": "string" } }, "required": [ "name", "scoped_name", "due", "reason" ], "type": "object" }, "OrderHistoryDetailResponse": { "additionalProperties": false, "properties": { "bead_id": { "type": "string" }, "created_at": { "type": "string" }, "labels": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "output": { "type": "string" }, "store_ref": { "type": "string" } }, "required": [ "bead_id", "store_ref", "created_at", "labels", "output" ], "type": "object" }, "OrderHistoryEntry": { "additionalProperties": false, "properties": { "bead_id": { "type": "string" }, "capture_output": { "type": "boolean" }, "created_at": { "type": "string" }, "duration_ms": { "type": "string" }, "error": { "type": "string" }, "exit_code": { "type": "string" }, "has_output": { "type": "boolean" }, "labels": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "name": { "type": "string" }, "rig": { "type": "string" }, "scoped_name": { "type": "string" }, "signal": { "type": "string" }, "store_ref": { "type": "string" }, "wisp_root_id": { "type": "string" } }, "required": [ "bead_id", "store_ref", "name", "scoped_name", "created_at", "labels", "capture_output", "has_output" ], "type": "object" }, "OrderHistoryListBody": { "additionalProperties": false, "properties": { "entries": { "description": "Order history entries.", "items": { "$ref": "#/components/schemas/OrderHistoryEntry" }, "type": [ "array", "null" ] } }, "required": [ "entries" ], "type": "object" }, "OrderListBody": { "additionalProperties": false, "properties": { "orders": { "description": "Registered orders.", "items": { "$ref": "#/components/schemas/OrderResponse" }, "type": [ "array", "null" ] } }, "required": [ "orders" ], "type": "object" }, "OrderResponse": { "additionalProperties": false, "properties": { "capture_output": { "type": "boolean" }, "check": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "env": { "additionalProperties": { "type": "string" }, "type": "object" }, "exec": { "type": "string" }, "formula": { "type": "string" }, "gate": { "deprecated": true, "type": "string" }, "interval": { "type": "string" }, "name": { "type": "string" }, "on": { "type": "string" }, "pool": { "type": "string" }, "rig": { "type": "string" }, "schedule": { "type": "string" }, "scoped_name": { "type": "string" }, "timeout": { "type": "string" }, "timeout_ms": { "format": "int64", "type": "integer" }, "trigger": { "type": "string" }, "type": { "type": "string" } }, "required": [ "name", "scoped_name", "type", "timeout_ms", "enabled", "capture_output" ], "type": "object" }, "OrdersFeedBody": { "additionalProperties": false, "properties": { "items": { "items": { "$ref": "#/components/schemas/MonitorFeedItemResponse" }, "type": [ "array", "null" ] }, "partial": { "type": "boolean" }, "partial_errors": { "items": { "type": "string" }, "type": [ "array", "null" ] } }, "required": [ "items", "partial" ], "type": "object" }, "OutboundEventPayload": { "additionalProperties": false, "properties": { "conversation_id": { "type": "string" }, "message_id": { "type": "string" }, "provider": { "type": "string" }, "session": { "type": "string" } }, "required": [ "provider", "conversation_id", "session", "message_id" ], "type": "object" }, "OutboundResult": { "additionalProperties": false, "properties": { "DeliveryContext": { "$ref": "#/components/schemas/DeliveryContextRecord" }, "Receipt": { "$ref": "#/components/schemas/PublishReceipt" }, "TranscriptEntry": { "$ref": "#/components/schemas/ConversationTranscriptRecord" } }, "required": [ "Receipt", "DeliveryContext", "TranscriptEntry" ], "type": "object" }, "OutputTurn": { "additionalProperties": false, "properties": { "role": { "type": "string" }, "text": { "type": "string" }, "timestamp": { "type": "string" } }, "required": [ "role", "text" ], "type": "object" }, "PackListBody": { "additionalProperties": false, "properties": { "packs": { "description": "Registered packs.", "items": { "$ref": "#/components/schemas/PackResponse" }, "type": [ "array", "null" ] } }, "required": [ "packs" ], "type": "object" }, "PackResponse": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "ref": { "type": "string" }, "source": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "PaginationInfo": { "additionalProperties": false, "properties": { "has_older_messages": { "type": "boolean" }, "returned_message_count": { "format": "int64", "type": "integer" }, "total_compactions": { "format": "int64", "type": "integer" }, "total_message_count": { "format": "int64", "type": "integer" }, "truncated_before_message": { "type": "string" } }, "required": [ "has_older_messages", "total_message_count", "returned_message_count", "total_compactions" ], "type": "object" }, "PatchDeletedResponseBody": { "additionalProperties": false, "properties": { "agent_patch": { "description": "Agent patch qualified name.", "type": "string" }, "provider_patch": { "description": "Provider patch name.", "type": "string" }, "rig_patch": { "description": "Rig patch name.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "deleted" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "PatchOKResponseBody": { "additionalProperties": false, "properties": { "agent_patch": { "description": "Agent patch qualified name.", "type": "string" }, "provider_patch": { "description": "Provider patch name.", "type": "string" }, "rig_patch": { "description": "Rig patch name.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "ok" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "PendingInteraction": { "additionalProperties": false, "properties": { "kind": { "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "options": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "prompt": { "type": "string" }, "request_id": { "type": "string" } }, "required": [ "request_id", "kind" ], "type": "object" }, "PoolOverride": { "additionalProperties": false, "properties": { "Check": { "type": [ "string", "null" ] }, "DrainTimeout": { "type": [ "string", "null" ] }, "Max": { "format": "int64", "type": [ "integer", "null" ] }, "Min": { "format": "int64", "type": [ "integer", "null" ] }, "OnBoot": { "type": [ "string", "null" ] }, "OnDeath": { "type": [ "string", "null" ] } }, "required": [ "Min", "Max", "Check", "DrainTimeout", "OnDeath", "OnBoot" ], "type": "object" }, "PostgresCredentialResolvedPayload": { "additionalProperties": false, "properties": { "host": { "type": "string" }, "port": { "type": "string" }, "scope_kind": { "type": "string" }, "scope_name": { "type": "string" }, "source": { "type": "string" }, "user": { "type": "string" } }, "required": [ "scope_kind", "scope_name", "source", "host", "port", "user" ], "type": "object" }, "ProjectIdentityStampedPayload": { "additionalProperties": false, "properties": { "layer": { "type": "string" }, "new_id": { "type": "string" }, "old_id": { "type": "string" }, "scope_root": { "type": "string" }, "source": { "type": "string" } }, "required": [ "scope_root", "source", "layer", "new_id" ], "type": "object" }, "ProviderCreateInputBody": { "additionalProperties": false, "properties": { "acp_args": { "description": "ACP transport command arguments override.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "acp_command": { "description": "ACP transport command binary override.", "type": "string" }, "args": { "description": "Command arguments.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "args_append": { "description": "Arguments appended after inherited/base args.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "base": { "description": "Optional provider base for inheritance.", "type": "string" }, "command": { "description": "Provider command binary. Omit for base-only descendants.", "type": "string" }, "display_name": { "description": "Human-readable display name.", "type": "string" }, "env": { "additionalProperties": { "type": "string" }, "description": "Environment variables.", "type": "object" }, "name": { "description": "Provider name.", "minLength": 1, "type": "string" }, "options_schema_merge": { "description": "Options schema merge mode across inheritance chain.", "type": "string" }, "prompt_flag": { "description": "Flag for prompt delivery.", "type": "string" }, "prompt_mode": { "description": "Prompt delivery mode.", "type": "string" }, "ready_delay_ms": { "description": "Milliseconds to wait before probing readiness.", "format": "int64", "type": "integer" } }, "required": [ "name" ], "type": "object" }, "ProviderCreatedOutputBody": { "additionalProperties": false, "properties": { "provider": { "description": "Created provider name.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "created" ], "type": "string" } }, "required": [ "status", "provider" ], "type": "object" }, "ProviderOptionDTO": { "additionalProperties": false, "properties": { "choices": { "items": { "$ref": "#/components/schemas/OptionChoiceDTO" }, "type": [ "array", "null" ] }, "default": { "type": "string" }, "key": { "type": "string" }, "label": { "type": "string" }, "type": { "type": "string" } }, "required": [ "key", "label", "type", "default", "choices" ], "type": "object" }, "ProviderPatch": { "additionalProperties": false, "properties": { "ACPArgs": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "ACPCommand": { "type": [ "string", "null" ] }, "AcceptStartupDialogs": { "type": [ "boolean", "null" ] }, "Args": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "ArgsAppend": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "Base": { "type": [ "string", "null" ] }, "Command": { "type": [ "string", "null" ] }, "Env": { "additionalProperties": { "type": "string" }, "type": "object" }, "EnvRemove": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "Name": { "type": "string" }, "OptionsSchemaMerge": { "type": [ "string", "null" ] }, "PromptFlag": { "type": [ "string", "null" ] }, "PromptMode": { "type": [ "string", "null" ] }, "ReadyDelayMs": { "format": "int64", "type": [ "integer", "null" ] }, "Replace": { "type": "boolean" } }, "required": [ "Name", "Base", "Command", "ACPCommand", "Args", "ACPArgs", "ArgsAppend", "OptionsSchemaMerge", "PromptMode", "PromptFlag", "ReadyDelayMs", "AcceptStartupDialogs", "Env", "EnvRemove", "Replace" ], "type": "object" }, "ProviderPatchSetInputBody": { "additionalProperties": false, "properties": { "accept_startup_dialogs": { "description": "Override startup dialog acceptance behavior.", "type": "boolean" }, "acp_args": { "description": "Override ACP transport command arguments.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "acp_command": { "description": "Override ACP transport command binary.", "type": "string" }, "args": { "description": "Override command arguments.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "command": { "description": "Override command binary.", "type": "string" }, "env": { "additionalProperties": { "type": "string" }, "description": "Override environment variables.", "type": "object" }, "name": { "description": "Provider name.", "type": "string" }, "prompt_flag": { "description": "Override prompt flag.", "type": "string" }, "prompt_mode": { "description": "Override prompt delivery mode.", "type": "string" }, "ready_delay_ms": { "description": "Override ready delay in milliseconds.", "format": "int64", "type": "integer" } }, "type": "object" }, "ProviderPublicListBody": { "additionalProperties": false, "properties": { "items": { "description": "The list of browser-safe provider summaries.", "items": { "$ref": "#/components/schemas/ProviderPublicResponse" }, "type": [ "array", "null" ] }, "next_cursor": { "description": "Cursor for the next page of results.", "type": "string" }, "total": { "description": "Total number of providers in the list.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "ProviderPublicResponse": { "additionalProperties": false, "properties": { "builtin": { "type": "boolean" }, "city_level": { "type": "boolean" }, "display_name": { "type": "string" }, "effective_defaults": { "additionalProperties": { "type": "string" }, "type": "object" }, "name": { "type": "string" }, "options_schema": { "items": { "$ref": "#/components/schemas/ProviderOptionDTO" }, "type": [ "array", "null" ] } }, "required": [ "name", "builtin", "city_level" ], "type": "object" }, "ProviderReadiness": { "additionalProperties": false, "properties": { "detail": { "type": "string" }, "display_name": { "type": "string" }, "status": { "type": "string" } }, "required": [ "display_name", "status" ], "type": "object" }, "ProviderReadinessResponse": { "additionalProperties": false, "properties": { "providers": { "additionalProperties": { "$ref": "#/components/schemas/ProviderReadiness" }, "type": "object" } }, "required": [ "providers" ], "type": "object" }, "ProviderResponse": { "additionalProperties": false, "properties": { "acp_args": { "items": { "type": "string" }, "type": "array" }, "acp_command": { "type": "string" }, "args": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "builtin": { "type": "boolean" }, "city_level": { "type": "boolean" }, "command": { "type": "string" }, "display_name": { "type": "string" }, "env": { "additionalProperties": { "type": "string" }, "type": "object" }, "name": { "type": "string" }, "prompt_flag": { "type": "string" }, "prompt_mode": { "type": "string" }, "ready_delay_ms": { "format": "int64", "type": "integer" } }, "required": [ "name", "builtin", "city_level" ], "type": "object" }, "ProviderSpecJSON": { "additionalProperties": false, "properties": { "acp_args": { "items": { "type": "string" }, "type": "array" }, "acp_command": { "type": "string" }, "args": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "command": { "type": "string" }, "display_name": { "type": "string" }, "env": { "additionalProperties": { "type": "string" }, "type": "object" }, "prompt_flag": { "type": "string" }, "prompt_mode": { "type": "string" }, "ready_delay_ms": { "format": "int64", "type": "integer" } }, "type": "object" }, "ProviderUpdateInputBody": { "additionalProperties": false, "properties": { "acp_args": { "description": "ACP transport command arguments override.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "acp_command": { "description": "ACP transport command binary override.", "type": "string" }, "args": { "description": "Command arguments.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "args_append": { "description": "Arguments appended after inherited/base args.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "base": { "description": "Provider base for inheritance.", "type": "string" }, "command": { "description": "Provider command binary.", "type": "string" }, "display_name": { "description": "Human-readable display name.", "type": "string" }, "env": { "additionalProperties": { "type": "string" }, "description": "Environment variables.", "type": "object" }, "options_schema_merge": { "description": "Options schema merge mode across inheritance chain.", "type": "string" }, "prompt_flag": { "description": "Flag for prompt delivery.", "type": "string" }, "prompt_mode": { "description": "Prompt delivery mode.", "type": "string" }, "ready_delay_ms": { "description": "Milliseconds to wait before probing readiness.", "format": "int64", "type": "integer" } }, "type": "object" }, "PublishReceipt": { "additionalProperties": false, "properties": { "Conversation": { "$ref": "#/components/schemas/ConversationRef" }, "Delivered": { "type": "boolean" }, "FailureKind": { "type": "string" }, "MessageID": { "type": "string" }, "Metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "RetryAfter": { "format": "int64", "type": "integer" } }, "required": [ "MessageID", "Conversation", "Delivered", "FailureKind", "RetryAfter", "Metadata" ], "type": "object" }, "ReadinessItem": { "additionalProperties": false, "properties": { "detail": { "type": "string" }, "display_name": { "type": "string" }, "kind": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" } }, "required": [ "name", "kind", "display_name", "status" ], "type": "object" }, "ReadinessResponse": { "additionalProperties": false, "properties": { "items": { "additionalProperties": { "$ref": "#/components/schemas/ReadinessItem" }, "type": "object" } }, "required": [ "items" ], "type": "object" }, "RequestFailedPayload": { "additionalProperties": false, "properties": { "error_code": { "description": "Machine-readable error code.", "type": "string" }, "error_message": { "description": "Human-readable error description.", "type": "string" }, "operation": { "description": "Which operation failed.", "enum": [ "city.create", "city.unregister", "session.create", "session.message", "session.submit" ], "type": "string" }, "request_id": { "description": "Correlation ID from the 202 response.", "type": "string" } }, "required": [ "request_id", "operation", "error_code", "error_message" ], "type": "object" }, "RigActionBody": { "additionalProperties": false, "properties": { "action": { "description": "Action that was performed.", "type": "string" }, "failed": { "description": "Agents that failed to stop (restart only).", "items": { "type": "string" }, "type": [ "array", "null" ] }, "killed": { "description": "Agents that were killed (restart only).", "items": { "type": "string" }, "type": [ "array", "null" ] }, "rig": { "description": "Rig name.", "type": "string" }, "status": { "description": "Operation result (ok, partial, failed).", "examples": [ "ok" ], "type": "string" } }, "required": [ "status", "action", "rig" ], "type": "object" }, "RigCreateInputBody": { "additionalProperties": false, "properties": { "default_branch": { "description": "Mainline branch (e.g. main, master). Auto-detected when omitted.", "type": "string" }, "name": { "description": "Rig name.", "minLength": 1, "type": "string" }, "path": { "description": "Filesystem path.", "minLength": 1, "type": "string" }, "prefix": { "description": "Session name prefix.", "type": "string" } }, "required": [ "name", "path" ], "type": "object" }, "RigCreatedOutputBody": { "additionalProperties": false, "properties": { "rig": { "description": "Created rig name.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "created" ], "type": "string" } }, "required": [ "status", "rig" ], "type": "object" }, "RigPatch": { "additionalProperties": false, "properties": { "DefaultBranch": { "type": [ "string", "null" ] }, "FormulaVars": { "additionalProperties": { "type": "string" }, "type": "object" }, "Name": { "type": "string" }, "Path": { "type": [ "string", "null" ] }, "Prefix": { "type": [ "string", "null" ] }, "Suspended": { "type": [ "boolean", "null" ] } }, "required": [ "Name", "Path", "Prefix", "DefaultBranch", "Suspended", "FormulaVars" ], "type": "object" }, "RigPatchSetInputBody": { "additionalProperties": false, "properties": { "default_branch": { "description": "Override mainline branch.", "type": "string" }, "name": { "description": "Rig name.", "type": "string" }, "path": { "description": "Override filesystem path.", "type": "string" }, "prefix": { "description": "Override bead ID prefix.", "type": "string" }, "suspended": { "description": "Override suspended state.", "type": "boolean" } }, "type": "object" }, "RigResponse": { "additionalProperties": false, "properties": { "agent_count": { "format": "int64", "type": "integer" }, "default_branch": { "type": "string" }, "git": { "$ref": "#/components/schemas/GitStatus" }, "last_activity": { "format": "date-time", "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "prefix": { "type": "string" }, "running_count": { "format": "int64", "type": "integer" }, "suspended": { "type": "boolean" } }, "required": [ "name", "path", "suspended", "agent_count", "running_count" ], "type": "object" }, "RigUpdateInputBody": { "additionalProperties": false, "properties": { "default_branch": { "description": "Mainline branch (e.g. main, master).", "type": "string" }, "path": { "description": "Filesystem path.", "type": "string" }, "prefix": { "description": "Session name prefix.", "type": "string" }, "suspended": { "description": "Whether rig is suspended.", "type": "boolean" } }, "type": "object" }, "RotatedPayload": { "additionalProperties": false, "properties": { "prior_archive": { "type": "string" }, "prior_first_seq": { "format": "int64", "minimum": 0, "type": "integer" }, "prior_last_seq": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "prior_archive", "prior_first_seq", "prior_last_seq" ], "type": "object" }, "ScopeGroup": { "additionalProperties": false, "type": "object" }, "ServiceRestartOutputBody": { "additionalProperties": false, "properties": { "action": { "description": "Action performed.", "examples": [ "restart" ], "type": "string" }, "service": { "description": "Service name.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "ok" ], "type": "string" } }, "required": [ "status", "action", "service" ], "type": "object" }, "SessionActivityEvent": { "additionalProperties": false, "properties": { "activity": { "description": "Session activity state: 'idle' or 'in-turn'.", "examples": [ "idle" ], "type": "string" } }, "required": [ "activity" ], "type": "object" }, "SessionAgentGetResponse": { "additionalProperties": false, "properties": { "messages": { "items": {}, "type": [ "array", "null" ] }, "status": { "type": "string" } }, "required": [ "messages" ], "type": "object" }, "SessionAgentListResponse": { "additionalProperties": false, "properties": { "agents": { "items": { "$ref": "#/components/schemas/AgentMapping" }, "type": [ "array", "null" ] } }, "required": [ "agents" ], "type": "object" }, "SessionBindingRecord": { "additionalProperties": false, "properties": { "BindingGeneration": { "format": "int64", "type": "integer" }, "BoundAt": { "format": "date-time", "type": "string" }, "Conversation": { "$ref": "#/components/schemas/ConversationRef" }, "ExpiresAt": { "format": "date-time", "type": [ "string", "null" ] }, "ID": { "type": "string" }, "Metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "SchemaVersion": { "format": "int64", "type": "integer" }, "SessionID": { "type": "string" }, "Status": { "$ref": "#/components/schemas/BindingStatus" } }, "required": [ "ID", "SchemaVersion", "Conversation", "SessionID", "Status", "BoundAt", "ExpiresAt", "BindingGeneration", "Metadata" ], "type": "object" }, "SessionCreateBody": { "additionalProperties": false, "properties": { "alias": { "description": "Optional session alias.", "type": "string" }, "async": { "description": "Create session asynchronously (agent only).", "type": "boolean" }, "kind": { "description": "Session target kind: agent or provider.", "type": "string" }, "message": { "description": "Initial message to send to the session.", "type": "string" }, "name": { "description": "Agent or provider name.", "type": "string" }, "options": { "additionalProperties": { "type": "string" }, "description": "Provider/agent option overrides.", "type": "object" }, "project_id": { "description": "Opaque project context identifier.", "type": "string" }, "session_name": { "description": "Deprecated: use alias.", "type": "string" }, "title": { "description": "Session title.", "type": "string" } }, "type": "object" }, "SessionCreateSucceededPayload": { "additionalProperties": false, "properties": { "request_id": { "description": "Correlation ID from the 202 response.", "type": "string" }, "session": { "$ref": "#/components/schemas/SessionResponse", "description": "Full session state as returned by GET /session/{id}. For session.create, this result is emitted only after the session has left creating and can accept normal metadata and lifecycle commands." } }, "required": [ "request_id", "session" ], "type": "object" }, "SessionDrainAckedWithAssignedWorkPayload": { "additionalProperties": false, "properties": { "bead_id": { "description": "ID of the work bead still holding this session as its assignee.", "type": "string" }, "bead_status": { "description": "Status of the stranded bead at emission time (typically 'in_progress' for cap-hit, 'open' if recovery races claim).", "type": "string" }, "reason": { "description": "Short diagnostic context. Today both emission sites pass 'drain_acked_with_assigned_work'; reserved for finer-grained shape discriminators if later Shape-N variants land.", "type": "string" }, "session_id": { "description": "Canonical session bead ID for the session that drain-acked.", "type": "string" }, "template": { "description": "Pool template name when known at the emission site.", "type": "string" } }, "required": [ "session_id", "bead_id" ], "type": "object" }, "SessionInfo": { "additionalProperties": false, "properties": { "attached": { "type": "boolean" }, "last_activity": { "format": "date-time", "type": "string" }, "name": { "type": "string" } }, "required": [ "name", "attached" ], "type": "object" }, "SessionLifecyclePayload": { "additionalProperties": false, "properties": { "reason": { "description": "Short human-readable reason.", "type": "string" }, "session_id": { "description": "Canonical session bead ID. Always present.", "type": "string" }, "template": { "description": "Session template name when known at the emission site.", "type": "string" } }, "required": [ "session_id" ], "type": "object" }, "SessionMessageInputBody": { "additionalProperties": false, "properties": { "message": { "description": "Message text to send.", "minLength": 1, "pattern": "\\S", "type": "string" } }, "required": [ "message" ], "type": "object" }, "SessionMessageSucceededPayload": { "additionalProperties": false, "properties": { "request_id": { "description": "Correlation ID from the 202 response.", "type": "string" }, "session_id": { "description": "Session ID that received the message.", "type": "string" } }, "required": [ "request_id", "session_id" ], "type": "object" }, "SessionPatchBody": { "additionalProperties": false, "properties": { "alias": { "description": "Session alias. Empty string clears the alias.", "type": "string" }, "title": { "description": "Session title. If provided, must be non-empty.", "minLength": 1, "type": "string" } }, "type": "object" }, "SessionPendingResponse": { "additionalProperties": false, "properties": { "pending": { "$ref": "#/components/schemas/PendingInteraction" }, "supported": { "type": "boolean" } }, "required": [ "supported" ], "type": "object" }, "SessionPermissionModeBody": { "additionalProperties": false, "properties": { "permission_mode": { "description": "Provider schema value for the permission_mode option.", "minLength": 1, "pattern": "\\S", "type": "string" } }, "required": [ "permission_mode" ], "type": "object" }, "SessionRawMessageFrame": { "description": "Provider-native transcript frame. Gas City forwards the exact JSON the provider wrote to its session log, so the shape is provider-specific and can be any JSON value. The producing provider is identified by the Provider field on the enclosing envelope; consumers dispatch per-provider frame parsing keyed by that identifier.", "title": "Session raw transcript frame" }, "SessionRenameInputBody": { "additionalProperties": false, "properties": { "title": { "description": "New session title.", "minLength": 1, "type": "string" } }, "required": [ "title" ], "type": "object" }, "SessionResetStalledPayload": { "additionalProperties": false, "properties": { "elapsed_s": { "format": "int64", "type": "integer" }, "reset_committed_at": { "type": "string" }, "session_name": { "type": "string" }, "template": { "type": "string" } }, "required": [ "session_name", "template", "reset_committed_at", "elapsed_s" ], "type": "object" }, "SessionRespondInputBody": { "additionalProperties": false, "properties": { "action": { "description": "Response action (e.g. allow, deny).", "minLength": 1, "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, "description": "Optional response metadata.", "type": "object" }, "request_id": { "description": "Pending interaction request ID (optional).", "type": "string" }, "text": { "description": "Optional response text.", "type": "string" } }, "required": [ "action" ], "type": "object" }, "SessionRespondOutputBody": { "additionalProperties": false, "properties": { "id": { "description": "Session ID.", "type": "string" }, "status": { "description": "Operation result.", "examples": [ "accepted" ], "type": "string" } }, "required": [ "status", "id" ], "type": "object" }, "SessionResponse": { "additionalProperties": false, "properties": { "active_bead": { "type": "string" }, "activity": { "type": "string" }, "agent_kind": { "type": "string" }, "alias": { "type": "string" }, "attached": { "type": "boolean" }, "configured_named_session": { "type": "boolean" }, "context_pct": { "format": "int64", "type": "integer" }, "context_window": { "format": "int64", "type": "integer" }, "created_at": { "type": "string" }, "display_name": { "type": "string" }, "id": { "type": "string" }, "kind": { "type": "string" }, "last_active": { "type": "string" }, "last_nudge_delivered_at": { "type": "string" }, "last_output": { "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "model": { "type": "string" }, "options": { "additionalProperties": { "type": "string" }, "type": "object" }, "pool": { "type": "string" }, "provider": { "type": "string" }, "reason": { "type": "string" }, "rig": { "type": "string" }, "running": { "type": "boolean" }, "session_name": { "type": "string" }, "state": { "type": "string" }, "submission_capabilities": { "$ref": "#/components/schemas/SubmissionCapabilities" }, "template": { "type": "string" }, "title": { "type": "string" } }, "required": [ "id", "template", "state", "title", "provider", "session_name", "created_at", "attached", "running" ], "type": "object" }, "SessionStreamCommonEvent": { "description": "Non-message events emitted on the session SSE stream: activity transitions, pending interactions, and keepalive heartbeats. The concrete variant is identified by the SSE event name.", "oneOf": [ { "$ref": "#/components/schemas/SessionActivityEvent" }, { "$ref": "#/components/schemas/PendingInteraction" }, { "$ref": "#/components/schemas/HeartbeatEvent" } ], "title": "Session stream lifecycle event" }, "SessionStreamMessageEvent": { "additionalProperties": false, "properties": { "format": { "type": "string" }, "id": { "type": "string" }, "pagination": { "$ref": "#/components/schemas/PaginationInfo" }, "provider": { "description": "Producing provider identifier (claude, codex, gemini, open-code, etc.).", "type": "string" }, "template": { "type": "string" }, "turns": { "items": { "$ref": "#/components/schemas/OutputTurn" }, "type": [ "array", "null" ] } }, "required": [ "id", "template", "provider", "format", "turns" ], "type": "object" }, "SessionStreamRawMessageEvent": { "additionalProperties": false, "properties": { "format": { "type": "string" }, "id": { "type": "string" }, "messages": { "description": "Provider-native transcript frames, emitted verbatim as the provider wrote them.", "items": { "$ref": "#/components/schemas/SessionRawMessageFrame" }, "type": [ "array", "null" ] }, "pagination": { "$ref": "#/components/schemas/PaginationInfo" }, "provider": { "description": "Producing provider identifier (claude, codex, gemini, open-code, etc.). Consumers use this to dispatch per-provider frame parsing.", "type": "string" }, "template": { "type": "string" } }, "required": [ "id", "template", "provider", "format", "messages" ], "type": "object" }, "SessionSubmitInputBody": { "additionalProperties": false, "properties": { "intent": { "$ref": "#/components/schemas/SubmitIntent", "description": "Submit intent; empty defaults to \"default\".", "enum": [ "default", "follow_up", "interrupt_now" ] }, "message": { "description": "Message text to submit.", "minLength": 1, "pattern": "\\S", "type": "string" } }, "required": [ "message" ], "type": "object" }, "SessionSubmitSucceededPayload": { "additionalProperties": false, "properties": { "intent": { "description": "Resolved submit intent (default, follow_up, interrupt_now).", "type": "string" }, "queued": { "description": "Whether the message was queued for later delivery.", "type": "boolean" }, "request_id": { "description": "Correlation ID from the 202 response.", "type": "string" }, "session_id": { "description": "Session ID that received the submission.", "type": "string" } }, "required": [ "request_id", "session_id", "queued", "intent" ], "type": "object" }, "SessionTranscriptGetResponse": { "additionalProperties": false, "properties": { "format": { "description": "conversation, text, or raw.", "type": "string" }, "id": { "type": "string" }, "messages": { "description": "Populated for raw format; provider-native frames emitted verbatim as the provider wrote them.", "items": { "$ref": "#/components/schemas/SessionRawMessageFrame" }, "type": [ "array", "null" ] }, "pagination": { "$ref": "#/components/schemas/PaginationInfo" }, "provider": { "description": "Producing provider identifier (claude, codex, gemini, open-code, etc.). Consumers use this to dispatch per-provider frame parsing.", "type": "string" }, "template": { "type": "string" }, "turns": { "description": "Populated for conversation/text formats.", "items": { "$ref": "#/components/schemas/OutputTurn" }, "type": [ "array", "null" ] } }, "required": [ "id", "template", "provider", "format" ], "type": "object" }, "SlingInputBody": { "additionalProperties": false, "properties": { "attached_bead_id": { "description": "Bead ID to attach a formula to.", "type": "string" }, "bead": { "description": "Bead ID to sling.", "type": "string" }, "force": { "description": "Bypass cross-rig guards; for direct bead routes, also bypass missing-bead validation. Formula-backed graph routes may replace existing live workflow roots but still require the source bead to exist.", "type": "boolean" }, "formula": { "description": "Formula name for workflow launch.", "type": "string" }, "rig": { "description": "Rig name.", "type": "string" }, "scope_kind": { "description": "Scope kind (city or rig).", "type": "string" }, "scope_ref": { "description": "Scope reference.", "type": "string" }, "target": { "description": "Target agent or pool.", "minLength": 1, "type": "string" }, "title": { "description": "Workflow title.", "type": "string" }, "vars": { "additionalProperties": { "type": "string" }, "description": "Formula variables.", "type": "object" } }, "required": [ "target" ], "type": "object" }, "SlingResponse": { "additionalProperties": false, "properties": { "attached_bead_id": { "type": "string" }, "bead": { "type": "string" }, "formula": { "type": "string" }, "mode": { "type": "string" }, "root_bead_id": { "type": "string" }, "status": { "type": "string" }, "target": { "type": "string" }, "warnings": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "workflow_id": { "type": "string" } }, "required": [ "status", "target" ], "type": "object" }, "Status": { "additionalProperties": false, "properties": { "allow_websockets": { "type": "boolean" }, "hostname": { "type": "string" }, "kind": { "type": "string" }, "local_state": { "type": "string" }, "mount_path": { "type": "string" }, "publication_state": { "type": "string" }, "publish_mode": { "type": "string" }, "reason": { "type": "string" }, "service_name": { "type": "string" }, "state": { "type": "string" }, "state_root": { "type": "string" }, "updated_at": { "format": "date-time", "type": "string" }, "url": { "type": "string" }, "visibility": { "type": "string" }, "workflow_contract": { "type": "string" } }, "required": [ "service_name", "mount_path", "publish_mode", "state_root", "local_state", "publication_state", "updated_at" ], "type": "object" }, "StatusAgentCounts": { "additionalProperties": false, "properties": { "quarantined": { "description": "Number of quarantined agents.", "format": "int64", "type": "integer" }, "running": { "description": "Number of running agents.", "format": "int64", "type": "integer" }, "suspended": { "description": "Number of suspended agents.", "format": "int64", "type": "integer" }, "total": { "description": "Total number of agents.", "format": "int64", "type": "integer" } }, "required": [ "total", "running", "suspended", "quarantined" ], "type": "object" }, "StatusAgentDetail": { "additionalProperties": false, "properties": { "draining": { "description": "True when the pool is draining this instance.", "type": "boolean" }, "expanded": { "description": "True when this row is a pool-expanded instance (renderer indents differently).", "type": "boolean" }, "group_name": { "description": "Pool group label for expanded rows; same as QualifiedName for singletons.", "type": "string" }, "name": { "description": "Unqualified agent name (for pool instances, the per-instance short name like 'polecat-1').", "type": "string" }, "qualified_name": { "description": "Rig-qualified name when applicable, else the bare agent name.", "type": "string" }, "running": { "description": "Observed running state of the agent's session.", "type": "boolean" }, "scale_label": { "description": "'scaled (min=N, max=M)' header emitted once per pool group.", "type": "string" }, "scope": { "description": "city or rig.", "type": "string" }, "session_name": { "description": "tmux session name CLI drain-ops key on.", "type": "string" }, "suspended": { "description": "Whether the agent (or its rig) is suspended.", "type": "boolean" } }, "required": [ "name", "qualified_name", "scope", "running", "suspended" ], "type": "object" }, "StatusBody": { "additionalProperties": false, "properties": { "agent_count": { "description": "Total agent count (deprecated, use agents.total).", "format": "int64", "type": "integer" }, "agent_details": { "description": "Per-agent state (for CLI status views). Empty when none.", "items": { "$ref": "#/components/schemas/StatusAgentDetail" }, "type": [ "array", "null" ] }, "agents": { "$ref": "#/components/schemas/StatusAgentCounts", "description": "Agent state counts." }, "beads": { "$ref": "#/components/schemas/BeadsDiagnostic", "description": "Bead store selection diagnostic. Omitted when unavailable." }, "beads_version": { "description": "Version of the bd (beads) CLI the supervisor drives. Omitted when the probe failed or the binary is unavailable.", "type": "string" }, "dolt_version": { "description": "Version of the dolt engine binary the supervisor drives. Omitted when the probe failed or the binary is unavailable.", "type": "string" }, "mail": { "$ref": "#/components/schemas/StatusMailCounts", "description": "Mail counts." }, "name": { "description": "City name.", "type": "string" }, "named_session_details": { "description": "Per-named-session detail. Empty when none configured.", "items": { "$ref": "#/components/schemas/StatusNamedSessionDetail" }, "type": [ "array", "null" ] }, "partial": { "description": "True when one or more status backing reads returned incomplete data.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from incomplete status backing reads.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "path": { "description": "City directory path.", "type": "string" }, "rig_count": { "description": "Total rig count (deprecated, use rigs.total).", "format": "int64", "type": "integer" }, "rig_details": { "description": "Per-rig detail (for CLI status views). Empty when none.", "items": { "$ref": "#/components/schemas/StatusRigDetail" }, "type": [ "array", "null" ] }, "rigs": { "$ref": "#/components/schemas/StatusRigCounts", "description": "Rig state counts." }, "running": { "description": "Number of running agent processes.", "format": "int64", "type": "integer" }, "session_counts_detail": { "$ref": "#/components/schemas/StatusSessionCountsDetail", "description": "Active/suspended session counts. Omitted when unavailable." }, "store_health": { "$ref": "#/components/schemas/StatusStoreHealth", "description": "Dolt bead store health summary. Omitted when unavailable." }, "suspended": { "description": "Whether the city is suspended.", "type": "boolean" }, "uptime_sec": { "description": "Server uptime in seconds.", "format": "int64", "type": "integer" }, "version": { "description": "Server version.", "type": "string" }, "work": { "$ref": "#/components/schemas/StatusWorkCounts", "description": "Work item counts." } }, "required": [ "name", "path", "uptime_sec", "suspended", "agent_count", "rig_count", "running", "agents", "rigs", "work", "mail" ], "type": "object" }, "StatusMailCounts": { "additionalProperties": false, "properties": { "total": { "description": "Total number of messages.", "format": "int64", "type": "integer" }, "unread": { "description": "Number of unread messages.", "format": "int64", "type": "integer" } }, "required": [ "unread", "total" ], "type": "object" }, "StatusNamedSessionDetail": { "additionalProperties": false, "properties": { "identity": { "description": "Qualified named-session identity.", "type": "string" }, "mode": { "description": "Named-session mode (on-demand, always, etc.).", "type": "string" }, "status": { "description": "Lifecycle status string (materialized, reserved-unmaterialized, etc.).", "type": "string" } }, "required": [ "identity", "status", "mode" ], "type": "object" }, "StatusRigCounts": { "additionalProperties": false, "properties": { "suspended": { "description": "Number of suspended rigs.", "format": "int64", "type": "integer" }, "total": { "description": "Total number of rigs.", "format": "int64", "type": "integer" } }, "required": [ "total", "suspended" ], "type": "object" }, "StatusRigDetail": { "additionalProperties": false, "properties": { "name": { "description": "Rig name.", "type": "string" }, "path": { "description": "Rig directory path.", "type": "string" }, "suspended": { "description": "Whether the rig is suspended (either explicitly or because all its agents are suspended).", "type": "boolean" } }, "required": [ "name", "path", "suspended" ], "type": "object" }, "StatusSessionCountsDetail": { "additionalProperties": false, "properties": { "active": { "description": "Number of active sessions.", "format": "int64", "type": "integer" }, "suspended": { "description": "Number of suspended sessions.", "format": "int64", "type": "integer" } }, "required": [ "active", "suspended" ], "type": "object" }, "StatusStoreHealth": { "additionalProperties": false, "properties": { "last_gc_at": { "description": "RFC3339 timestamp of last maintenance run.", "type": "string" }, "last_gc_status": { "description": "Status of last maintenance run ('success' or 'failed').", "type": "string" }, "live_rows": { "description": "Live bead row count.", "format": "int64", "type": "integer" }, "path": { "description": "On-disk path of the Dolt store.", "type": "string" }, "ratio_mb_per_row": { "description": "Derived megabytes per row.", "format": "double", "type": "number" }, "size_bytes": { "description": "Total bytes of the store directory.", "format": "int64", "type": "integer" }, "threshold_mb_per_row": { "description": "Ratio threshold; a ratio above this trips warning.", "format": "double", "type": "number" }, "warning": { "description": "True when maintenance is overdue.", "type": "boolean" } }, "required": [ "path", "size_bytes", "live_rows", "ratio_mb_per_row", "warning", "threshold_mb_per_row" ], "type": "object" }, "StatusWorkCounts": { "additionalProperties": false, "properties": { "in_progress": { "description": "Number of in-progress work items.", "format": "int64", "type": "integer" }, "open": { "description": "Number of open work items.", "format": "int64", "type": "integer" }, "ready": { "description": "Number of ready work items.", "format": "int64", "type": "integer" } }, "required": [ "in_progress", "ready", "open" ], "type": "object" }, "StoreMaintenanceDonePayload": { "additionalProperties": false, "properties": { "after_bytes": { "format": "int64", "type": "integer" }, "before_bytes": { "format": "int64", "type": "integer" }, "duration_s": { "format": "double", "type": "number" }, "snapshot_path": { "type": "string" } }, "required": [ "duration_s", "before_bytes", "after_bytes", "snapshot_path" ], "type": "object" }, "StoreMaintenanceFailedPayload": { "additionalProperties": false, "properties": { "duration_s": { "format": "double", "type": "number" }, "error_msg": { "type": "string" }, "snapshot_path": { "type": "string" }, "stage": { "type": "string" } }, "required": [ "stage", "error_msg", "duration_s" ], "type": "object" }, "SubmissionCapabilities": { "additionalProperties": false, "properties": { "supports_follow_up": { "type": "boolean" }, "supports_interrupt_now": { "type": "boolean" } }, "required": [ "supports_follow_up", "supports_interrupt_now" ], "type": "object" }, "SubmitIntent": { "description": "Semantic delivery choice for a user message on a session submit request.", "enum": [ "default", "follow_up", "interrupt_now" ], "type": "string" }, "SupervisorCitiesOutputBody": { "additionalProperties": false, "properties": { "items": { "description": "Managed cities with status info.", "items": { "$ref": "#/components/schemas/CityInfo" }, "type": [ "array", "null" ] }, "total": { "description": "Total count.", "format": "int64", "type": "integer" } }, "required": [ "items", "total" ], "type": "object" }, "SupervisorEventListOutputBody": { "additionalProperties": false, "properties": { "event_cursor": { "description": "Supervisor event-stream cursor captured before the history snapshot was listed. Pass this value as after_cursor to /v0/events/stream to receive events emitted after the snapshot boundary without replaying unrelated historical backlog.", "type": "string" }, "items": { "items": { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelope" }, "type": [ "array", "null" ] }, "total": { "format": "int64", "type": "integer" } }, "required": [ "event_cursor", "items", "total" ], "type": "object" }, "SupervisorFSPressureSkippedTickPayload": { "additionalProperties": false, "properties": { "avg60": { "description": "The Linux PSI some avg60 value observed for filesystem IO pressure.", "format": "double", "type": "number" }, "consecutive_skips": { "description": "Number of consecutive pressure skips including this tick.", "format": "int64", "type": "integer" }, "max_consecutive_skips": { "description": "Maximum consecutive skips before the supervisor forces one reconciliation tick.", "format": "int64", "type": "integer" }, "outcome": { "description": "The pressure decision outcome: skipped for a shed tick or forced for the bounded liveness tick.", "type": "string" }, "threshold": { "description": "The configured avg60 threshold that triggered the skip.", "format": "double", "type": "number" }, "trigger": { "description": "The daemon tick trigger, such as patrol or poke.", "type": "string" } }, "required": [ "avg60", "threshold", "consecutive_skips", "max_consecutive_skips", "outcome" ], "type": "object" }, "SupervisorHealthOutputBody": { "additionalProperties": false, "properties": { "build_id": { "description": "Build identity (typically a short git commit hash, with \"-dirty\" suffix when built from an unclean tree). Empty when unavailable.", "type": "string" }, "cities_running": { "description": "Cities currently running.", "format": "int64", "type": "integer" }, "cities_total": { "description": "Total managed cities.", "format": "int64", "type": "integer" }, "startup": { "$ref": "#/components/schemas/SupervisorStartup", "description": "First-city startup info for single-city deployments." }, "status": { "description": "Health status (\"ok\").", "type": "string" }, "uptime_sec": { "description": "Supervisor uptime in seconds.", "format": "int64", "type": "integer" }, "version": { "description": "Supervisor version.", "type": "string" } }, "required": [ "status", "version", "uptime_sec", "cities_total", "cities_running" ], "type": "object" }, "SupervisorShutdownPayload": { "additionalProperties": false, "properties": { "client_addr": { "description": "For source=socket_stop, the address reported by the connecting client. Typically empty for unix-socket peers.", "type": "string" }, "mode": { "description": "Resulting shutdown mode.", "enum": [ "destructive", "preserve_sessions", "unknown" ], "type": "string" }, "signal": { "description": "For source=signal, the human-readable signal name (e.g. \"terminated\", \"interrupt\"). Empty for socket_stop.", "type": "string" }, "source": { "description": "Which path triggered the shutdown.", "enum": [ "signal", "socket_stop" ], "type": "string" } }, "required": [ "source", "mode" ], "type": "object" }, "SupervisorStartup": { "additionalProperties": false, "properties": { "phase": { "description": "Current phase (when not ready).", "type": "string" }, "phases_completed": { "description": "Phases completed so far.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "ready": { "description": "True when the city is running.", "type": "boolean" } }, "required": [ "ready" ], "type": "object" }, "TaggedEventStreamEnvelope": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/EventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "city" ], "type": "object" }, "TranscriptMessageKind": { "description": "Direction of a transcript entry.", "enum": [ "inbound", "outbound" ], "type": "string" }, "TranscriptProvenance": { "description": "Provenance of a transcript entry (freshly observed vs. replayed from persisted history).", "enum": [ "live", "hydrated" ], "type": "string" }, "TypedEventStreamEnvelope": { "description": "Discriminated union of city event stream envelopes. Each variant constrains the envelope type and payload schema together.", "discriminator": { "mapping": { "bead.closed": "#/components/schemas/TypedEventStreamEnvelopeBeadClosed", "bead.created": "#/components/schemas/TypedEventStreamEnvelopeBeadCreated", "bead.deleted": "#/components/schemas/TypedEventStreamEnvelopeBeadDeleted", "bead.updated": "#/components/schemas/TypedEventStreamEnvelopeBeadUpdated", "bead.worktree.reap_skipped": "#/components/schemas/TypedEventStreamEnvelopeBeadWorktreeReapSkipped", "bead.worktree.reaped": "#/components/schemas/TypedEventStreamEnvelopeBeadWorktreeReaped", "city.created": "#/components/schemas/TypedEventStreamEnvelopeCityCreated", "city.resumed": "#/components/schemas/TypedEventStreamEnvelopeCityResumed", "city.suspended": "#/components/schemas/TypedEventStreamEnvelopeCitySuspended", "city.unregister_requested": "#/components/schemas/TypedEventStreamEnvelopeCityUnregisterRequested", "controller.started": "#/components/schemas/TypedEventStreamEnvelopeControllerStarted", "controller.stopped": "#/components/schemas/TypedEventStreamEnvelopeControllerStopped", "convoy.closed": "#/components/schemas/TypedEventStreamEnvelopeConvoyClosed", "convoy.created": "#/components/schemas/TypedEventStreamEnvelopeConvoyCreated", "events.rotated": "#/components/schemas/TypedEventStreamEnvelopeEventsRotated", "extmsg.adapter_added": "#/components/schemas/TypedEventStreamEnvelopeExtmsgAdapterAdded", "extmsg.adapter_removed": "#/components/schemas/TypedEventStreamEnvelopeExtmsgAdapterRemoved", "extmsg.bound": "#/components/schemas/TypedEventStreamEnvelopeExtmsgBound", "extmsg.group_created": "#/components/schemas/TypedEventStreamEnvelopeExtmsgGroupCreated", "extmsg.inbound": "#/components/schemas/TypedEventStreamEnvelopeExtmsgInbound", "extmsg.outbound": "#/components/schemas/TypedEventStreamEnvelopeExtmsgOutbound", "extmsg.unbound": "#/components/schemas/TypedEventStreamEnvelopeExtmsgUnbound", "gc.store.maintenance.done": "#/components/schemas/TypedEventStreamEnvelopeGcStoreMaintenanceDone", "gc.store.maintenance.failed": "#/components/schemas/TypedEventStreamEnvelopeGcStoreMaintenanceFailed", "mail.archived": "#/components/schemas/TypedEventStreamEnvelopeMailArchived", "mail.deleted": "#/components/schemas/TypedEventStreamEnvelopeMailDeleted", "mail.marked_read": "#/components/schemas/TypedEventStreamEnvelopeMailMarkedRead", "mail.marked_unread": "#/components/schemas/TypedEventStreamEnvelopeMailMarkedUnread", "mail.read": "#/components/schemas/TypedEventStreamEnvelopeMailRead", "mail.replied": "#/components/schemas/TypedEventStreamEnvelopeMailReplied", "mail.sent": "#/components/schemas/TypedEventStreamEnvelopeMailSent", "order.completed": "#/components/schemas/TypedEventStreamEnvelopeOrderCompleted", "order.failed": "#/components/schemas/TypedEventStreamEnvelopeOrderFailed", "order.fired": "#/components/schemas/TypedEventStreamEnvelopeOrderFired", "pg.credential_resolved": "#/components/schemas/TypedEventStreamEnvelopePgCredentialResolved", "project.identity.stamped": "#/components/schemas/TypedEventStreamEnvelopeProjectIdentityStamped", "provider.swapped": "#/components/schemas/TypedEventStreamEnvelopeProviderSwapped", "request.failed": "#/components/schemas/TypedEventStreamEnvelopeRequestFailed", "request.result.city.create": "#/components/schemas/TypedEventStreamEnvelopeRequestResultCityCreate", "request.result.city.unregister": "#/components/schemas/TypedEventStreamEnvelopeRequestResultCityUnregister", "request.result.session.create": "#/components/schemas/TypedEventStreamEnvelopeRequestResultSessionCreate", "request.result.session.message": "#/components/schemas/TypedEventStreamEnvelopeRequestResultSessionMessage", "request.result.session.submit": "#/components/schemas/TypedEventStreamEnvelopeRequestResultSessionSubmit", "session.cold_start_timeout": "#/components/schemas/TypedEventStreamEnvelopeSessionColdStartTimeout", "session.crashed": "#/components/schemas/TypedEventStreamEnvelopeSessionCrashed", "session.drain_acked_with_assigned_work": "#/components/schemas/TypedEventStreamEnvelopeSessionDrainAckedWithAssignedWork", "session.draining": "#/components/schemas/TypedEventStreamEnvelopeSessionDraining", "session.idle_killed": "#/components/schemas/TypedEventStreamEnvelopeSessionIdleKilled", "session.max_age_killed": "#/components/schemas/TypedEventStreamEnvelopeSessionMaxAgeKilled", "session.quarantined": "#/components/schemas/TypedEventStreamEnvelopeSessionQuarantined", "session.reset_stalled": "#/components/schemas/TypedEventStreamEnvelopeSessionResetStalled", "session.stopped": "#/components/schemas/TypedEventStreamEnvelopeSessionStopped", "session.stranded": "#/components/schemas/TypedEventStreamEnvelopeSessionStranded", "session.suspended": "#/components/schemas/TypedEventStreamEnvelopeSessionSuspended", "session.undrained": "#/components/schemas/TypedEventStreamEnvelopeSessionUndrained", "session.updated": "#/components/schemas/TypedEventStreamEnvelopeSessionUpdated", "session.woke": "#/components/schemas/TypedEventStreamEnvelopeSessionWoke", "session.work_query_failed": "#/components/schemas/TypedEventStreamEnvelopeSessionWorkQueryFailed", "supervisor.fs_pressure.skipped_tick": "#/components/schemas/TypedEventStreamEnvelopeSupervisorFsPressureSkippedTick", "supervisor.shutdown_requested": "#/components/schemas/TypedEventStreamEnvelopeSupervisorShutdownRequested", "worker.operation": "#/components/schemas/TypedEventStreamEnvelopeWorkerOperation" }, "propertyName": "type" }, "oneOf": [ { "$ref": "#/components/schemas/TypedEventStreamEnvelopeBeadClosed" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeBeadCreated" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeBeadDeleted" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeBeadUpdated" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeBeadWorktreeReapSkipped" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeBeadWorktreeReaped" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeCityCreated" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeCityResumed" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeCitySuspended" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeCityUnregisterRequested" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeControllerStarted" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeControllerStopped" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeConvoyClosed" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeConvoyCreated" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeEventsRotated" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeExtmsgAdapterAdded" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeExtmsgAdapterRemoved" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeExtmsgBound" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeExtmsgGroupCreated" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeExtmsgInbound" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeExtmsgOutbound" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeExtmsgUnbound" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeGcStoreMaintenanceDone" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeGcStoreMaintenanceFailed" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeMailArchived" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeMailDeleted" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeMailMarkedRead" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeMailMarkedUnread" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeMailRead" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeMailReplied" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeMailSent" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeOrderCompleted" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeOrderFailed" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeOrderFired" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopePgCredentialResolved" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeProjectIdentityStamped" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeProviderSwapped" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeRequestFailed" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeRequestResultCityCreate" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeRequestResultCityUnregister" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeRequestResultSessionCreate" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeRequestResultSessionMessage" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeRequestResultSessionSubmit" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionColdStartTimeout" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionCrashed" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionDrainAckedWithAssignedWork" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionDraining" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionIdleKilled" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionMaxAgeKilled" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionQuarantined" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionResetStalled" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionStopped" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionStranded" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionSuspended" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionUndrained" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionUpdated" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionWoke" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSessionWorkQueryFailed" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSupervisorFsPressureSkippedTick" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeSupervisorShutdownRequested" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeWorkerOperation" }, { "$ref": "#/components/schemas/TypedEventStreamEnvelopeCustom" } ], "title": "Typed city event stream envelope" }, "TypedEventStreamEnvelopeBeadClosed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.closed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope bead.closed", "type": "object" }, "TypedEventStreamEnvelopeBeadCreated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.created", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope bead.created", "type": "object" }, "TypedEventStreamEnvelopeBeadDeleted": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.deleted", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope bead.deleted", "type": "object" }, "TypedEventStreamEnvelopeBeadUpdated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.updated", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope bead.updated", "type": "object" }, "TypedEventStreamEnvelopeBeadWorktreeReapSkipped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadWorktreeReapSkippedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.worktree.reap_skipped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope bead.worktree.reap_skipped", "type": "object" }, "TypedEventStreamEnvelopeBeadWorktreeReaped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadWorktreeReapedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.worktree.reaped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope bead.worktree.reaped", "type": "object" }, "TypedEventStreamEnvelopeCityCreated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/CityLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "city.created", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope city.created", "type": "object" }, "TypedEventStreamEnvelopeCityResumed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "city.resumed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope city.resumed", "type": "object" }, "TypedEventStreamEnvelopeCitySuspended": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "city.suspended", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope city.suspended", "type": "object" }, "TypedEventStreamEnvelopeCityUnregisterRequested": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/CityLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "city.unregister_requested", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope city.unregister_requested", "type": "object" }, "TypedEventStreamEnvelopeControllerStarted": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "controller.started", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope controller.started", "type": "object" }, "TypedEventStreamEnvelopeControllerStopped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "controller.stopped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope controller.stopped", "type": "object" }, "TypedEventStreamEnvelopeConvoyClosed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "convoy.closed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope convoy.closed", "type": "object" }, "TypedEventStreamEnvelopeConvoyCreated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "convoy.created", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope convoy.created", "type": "object" }, "TypedEventStreamEnvelopeCustom": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": {}, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "not": { "enum": [ "session.woke", "session.stopped", "session.crashed", "session.draining", "session.undrained", "session.quarantined", "session.idle_killed", "session.max_age_killed", "session.suspended", "session.updated", "session.drain_acked_with_assigned_work", "session.stranded", "session.reset_stalled", "session.work_query_failed", "session.cold_start_timeout", "bead.created", "bead.closed", "bead.deleted", "bead.updated", "bead.worktree.reaped", "bead.worktree.reap_skipped", "mail.sent", "mail.read", "mail.archived", "mail.marked_read", "mail.marked_unread", "mail.replied", "mail.deleted", "convoy.created", "convoy.closed", "controller.started", "controller.stopped", "city.suspended", "city.resumed", "request.result.city.create", "request.result.city.unregister", "request.result.session.create", "request.result.session.message", "request.result.session.submit", "request.failed", "city.created", "city.unregister_requested", "order.fired", "order.completed", "order.failed", "provider.swapped", "worker.operation", "project.identity.stamped", "supervisor.fs_pressure.skipped_tick", "supervisor.shutdown_requested", "extmsg.bound", "extmsg.unbound", "extmsg.group_created", "extmsg.adapter_added", "extmsg.adapter_removed", "extmsg.inbound", "extmsg.outbound", "events.rotated", "gc.store.maintenance.done", "gc.store.maintenance.failed", "pg.credential_resolved" ] }, "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope custom", "type": "object" }, "TypedEventStreamEnvelopeEventsRotated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/RotatedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "events.rotated", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope events.rotated", "type": "object" }, "TypedEventStreamEnvelopeExtmsgAdapterAdded": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/AdapterEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.adapter_added", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope extmsg.adapter_added", "type": "object" }, "TypedEventStreamEnvelopeExtmsgAdapterRemoved": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/AdapterEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.adapter_removed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope extmsg.adapter_removed", "type": "object" }, "TypedEventStreamEnvelopeExtmsgBound": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BoundEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.bound", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope extmsg.bound", "type": "object" }, "TypedEventStreamEnvelopeExtmsgGroupCreated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/GroupCreatedEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.group_created", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope extmsg.group_created", "type": "object" }, "TypedEventStreamEnvelopeExtmsgInbound": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/InboundEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.inbound", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope extmsg.inbound", "type": "object" }, "TypedEventStreamEnvelopeExtmsgOutbound": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/OutboundEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.outbound", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope extmsg.outbound", "type": "object" }, "TypedEventStreamEnvelopeExtmsgUnbound": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/UnboundEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.unbound", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope extmsg.unbound", "type": "object" }, "TypedEventStreamEnvelopeGcStoreMaintenanceDone": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/StoreMaintenanceDonePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "gc.store.maintenance.done", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope gc.store.maintenance.done", "type": "object" }, "TypedEventStreamEnvelopeGcStoreMaintenanceFailed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/StoreMaintenanceFailedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "gc.store.maintenance.failed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope gc.store.maintenance.failed", "type": "object" }, "TypedEventStreamEnvelopeMailArchived": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.archived", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope mail.archived", "type": "object" }, "TypedEventStreamEnvelopeMailDeleted": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.deleted", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope mail.deleted", "type": "object" }, "TypedEventStreamEnvelopeMailMarkedRead": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.marked_read", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope mail.marked_read", "type": "object" }, "TypedEventStreamEnvelopeMailMarkedUnread": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.marked_unread", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope mail.marked_unread", "type": "object" }, "TypedEventStreamEnvelopeMailRead": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.read", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope mail.read", "type": "object" }, "TypedEventStreamEnvelopeMailReplied": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.replied", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope mail.replied", "type": "object" }, "TypedEventStreamEnvelopeMailSent": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.sent", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope mail.sent", "type": "object" }, "TypedEventStreamEnvelopeOrderCompleted": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "order.completed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope order.completed", "type": "object" }, "TypedEventStreamEnvelopeOrderFailed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "order.failed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope order.failed", "type": "object" }, "TypedEventStreamEnvelopeOrderFired": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "order.fired", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope order.fired", "type": "object" }, "TypedEventStreamEnvelopePgCredentialResolved": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/PostgresCredentialResolvedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "pg.credential_resolved", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope pg.credential_resolved", "type": "object" }, "TypedEventStreamEnvelopeProjectIdentityStamped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/ProjectIdentityStampedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "project.identity.stamped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope project.identity.stamped", "type": "object" }, "TypedEventStreamEnvelopeProviderSwapped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "provider.swapped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope provider.swapped", "type": "object" }, "TypedEventStreamEnvelopeRequestFailed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/RequestFailedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.failed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope request.failed", "type": "object" }, "TypedEventStreamEnvelopeRequestResultCityCreate": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/CityCreateSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.city.create", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope request.result.city.create", "type": "object" }, "TypedEventStreamEnvelopeRequestResultCityUnregister": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/CityUnregisterSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.city.unregister", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope request.result.city.unregister", "type": "object" }, "TypedEventStreamEnvelopeRequestResultSessionCreate": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionCreateSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.session.create", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope request.result.session.create", "type": "object" }, "TypedEventStreamEnvelopeRequestResultSessionMessage": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionMessageSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.session.message", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope request.result.session.message", "type": "object" }, "TypedEventStreamEnvelopeRequestResultSessionSubmit": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionSubmitSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.session.submit", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope request.result.session.submit", "type": "object" }, "TypedEventStreamEnvelopeSessionColdStartTimeout": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.cold_start_timeout", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.cold_start_timeout", "type": "object" }, "TypedEventStreamEnvelopeSessionCrashed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.crashed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.crashed", "type": "object" }, "TypedEventStreamEnvelopeSessionDrainAckedWithAssignedWork": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionDrainAckedWithAssignedWorkPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.drain_acked_with_assigned_work", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.drain_acked_with_assigned_work", "type": "object" }, "TypedEventStreamEnvelopeSessionDraining": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.draining", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.draining", "type": "object" }, "TypedEventStreamEnvelopeSessionIdleKilled": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.idle_killed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.idle_killed", "type": "object" }, "TypedEventStreamEnvelopeSessionMaxAgeKilled": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.max_age_killed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.max_age_killed", "type": "object" }, "TypedEventStreamEnvelopeSessionQuarantined": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.quarantined", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.quarantined", "type": "object" }, "TypedEventStreamEnvelopeSessionResetStalled": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionResetStalledPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.reset_stalled", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.reset_stalled", "type": "object" }, "TypedEventStreamEnvelopeSessionStopped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.stopped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.stopped", "type": "object" }, "TypedEventStreamEnvelopeSessionStranded": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.stranded", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.stranded", "type": "object" }, "TypedEventStreamEnvelopeSessionSuspended": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.suspended", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.suspended", "type": "object" }, "TypedEventStreamEnvelopeSessionUndrained": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.undrained", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.undrained", "type": "object" }, "TypedEventStreamEnvelopeSessionUpdated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.updated", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.updated", "type": "object" }, "TypedEventStreamEnvelopeSessionWoke": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.woke", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.woke", "type": "object" }, "TypedEventStreamEnvelopeSessionWorkQueryFailed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.work_query_failed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope session.work_query_failed", "type": "object" }, "TypedEventStreamEnvelopeSupervisorFsPressureSkippedTick": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SupervisorFSPressureSkippedTickPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "supervisor.fs_pressure.skipped_tick", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope supervisor.fs_pressure.skipped_tick", "type": "object" }, "TypedEventStreamEnvelopeSupervisorShutdownRequested": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SupervisorShutdownPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "supervisor.shutdown_requested", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope supervisor.shutdown_requested", "type": "object" }, "TypedEventStreamEnvelopeWorkerOperation": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/WorkerOperationEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "worker.operation", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload" ], "title": "TypedEventStreamEnvelope worker.operation", "type": "object" }, "TypedTaggedEventStreamEnvelope": { "description": "Discriminated union of supervisor event stream envelopes. Each variant constrains the envelope type and payload schema together and includes the source city.", "discriminator": { "mapping": { "bead.closed": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadClosed", "bead.created": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadCreated", "bead.deleted": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadDeleted", "bead.updated": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadUpdated", "bead.worktree.reap_skipped": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadWorktreeReapSkipped", "bead.worktree.reaped": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadWorktreeReaped", "city.created": "#/components/schemas/TypedTaggedEventStreamEnvelopeCityCreated", "city.resumed": "#/components/schemas/TypedTaggedEventStreamEnvelopeCityResumed", "city.suspended": "#/components/schemas/TypedTaggedEventStreamEnvelopeCitySuspended", "city.unregister_requested": "#/components/schemas/TypedTaggedEventStreamEnvelopeCityUnregisterRequested", "controller.started": "#/components/schemas/TypedTaggedEventStreamEnvelopeControllerStarted", "controller.stopped": "#/components/schemas/TypedTaggedEventStreamEnvelopeControllerStopped", "convoy.closed": "#/components/schemas/TypedTaggedEventStreamEnvelopeConvoyClosed", "convoy.created": "#/components/schemas/TypedTaggedEventStreamEnvelopeConvoyCreated", "events.rotated": "#/components/schemas/TypedTaggedEventStreamEnvelopeEventsRotated", "extmsg.adapter_added": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgAdapterAdded", "extmsg.adapter_removed": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgAdapterRemoved", "extmsg.bound": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgBound", "extmsg.group_created": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgGroupCreated", "extmsg.inbound": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgInbound", "extmsg.outbound": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgOutbound", "extmsg.unbound": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgUnbound", "gc.store.maintenance.done": "#/components/schemas/TypedTaggedEventStreamEnvelopeGcStoreMaintenanceDone", "gc.store.maintenance.failed": "#/components/schemas/TypedTaggedEventStreamEnvelopeGcStoreMaintenanceFailed", "mail.archived": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailArchived", "mail.deleted": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailDeleted", "mail.marked_read": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailMarkedRead", "mail.marked_unread": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailMarkedUnread", "mail.read": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailRead", "mail.replied": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailReplied", "mail.sent": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailSent", "order.completed": "#/components/schemas/TypedTaggedEventStreamEnvelopeOrderCompleted", "order.failed": "#/components/schemas/TypedTaggedEventStreamEnvelopeOrderFailed", "order.fired": "#/components/schemas/TypedTaggedEventStreamEnvelopeOrderFired", "pg.credential_resolved": "#/components/schemas/TypedTaggedEventStreamEnvelopePgCredentialResolved", "project.identity.stamped": "#/components/schemas/TypedTaggedEventStreamEnvelopeProjectIdentityStamped", "provider.swapped": "#/components/schemas/TypedTaggedEventStreamEnvelopeProviderSwapped", "request.failed": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestFailed", "request.result.city.create": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultCityCreate", "request.result.city.unregister": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultCityUnregister", "request.result.session.create": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultSessionCreate", "request.result.session.message": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultSessionMessage", "request.result.session.submit": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultSessionSubmit", "session.cold_start_timeout": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionColdStartTimeout", "session.crashed": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionCrashed", "session.drain_acked_with_assigned_work": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionDrainAckedWithAssignedWork", "session.draining": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionDraining", "session.idle_killed": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionIdleKilled", "session.max_age_killed": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionMaxAgeKilled", "session.quarantined": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionQuarantined", "session.reset_stalled": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionResetStalled", "session.stopped": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionStopped", "session.stranded": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionStranded", "session.suspended": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionSuspended", "session.undrained": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionUndrained", "session.updated": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionUpdated", "session.woke": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionWoke", "session.work_query_failed": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionWorkQueryFailed", "supervisor.fs_pressure.skipped_tick": "#/components/schemas/TypedTaggedEventStreamEnvelopeSupervisorFsPressureSkippedTick", "supervisor.shutdown_requested": "#/components/schemas/TypedTaggedEventStreamEnvelopeSupervisorShutdownRequested", "worker.operation": "#/components/schemas/TypedTaggedEventStreamEnvelopeWorkerOperation" }, "propertyName": "type" }, "oneOf": [ { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadClosed" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadCreated" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadDeleted" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadUpdated" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadWorktreeReapSkipped" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeBeadWorktreeReaped" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeCityCreated" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeCityResumed" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeCitySuspended" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeCityUnregisterRequested" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeControllerStarted" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeControllerStopped" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeConvoyClosed" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeConvoyCreated" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeEventsRotated" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgAdapterAdded" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgAdapterRemoved" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgBound" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgGroupCreated" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgInbound" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgOutbound" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeExtmsgUnbound" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeGcStoreMaintenanceDone" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeGcStoreMaintenanceFailed" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailArchived" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailDeleted" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailMarkedRead" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailMarkedUnread" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailRead" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailReplied" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeMailSent" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeOrderCompleted" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeOrderFailed" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeOrderFired" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopePgCredentialResolved" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeProjectIdentityStamped" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeProviderSwapped" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestFailed" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultCityCreate" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultCityUnregister" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultSessionCreate" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultSessionMessage" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeRequestResultSessionSubmit" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionColdStartTimeout" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionCrashed" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionDrainAckedWithAssignedWork" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionDraining" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionIdleKilled" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionMaxAgeKilled" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionQuarantined" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionResetStalled" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionStopped" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionStranded" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionSuspended" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionUndrained" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionUpdated" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionWoke" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSessionWorkQueryFailed" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSupervisorFsPressureSkippedTick" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeSupervisorShutdownRequested" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeWorkerOperation" }, { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelopeCustom" } ], "title": "Typed supervisor event stream envelope" }, "TypedTaggedEventStreamEnvelopeBeadClosed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.closed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope bead.closed", "type": "object" }, "TypedTaggedEventStreamEnvelopeBeadCreated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.created", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope bead.created", "type": "object" }, "TypedTaggedEventStreamEnvelopeBeadDeleted": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.deleted", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope bead.deleted", "type": "object" }, "TypedTaggedEventStreamEnvelopeBeadUpdated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.updated", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope bead.updated", "type": "object" }, "TypedTaggedEventStreamEnvelopeBeadWorktreeReapSkipped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadWorktreeReapSkippedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.worktree.reap_skipped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope bead.worktree.reap_skipped", "type": "object" }, "TypedTaggedEventStreamEnvelopeBeadWorktreeReaped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BeadWorktreeReapedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "bead.worktree.reaped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope bead.worktree.reaped", "type": "object" }, "TypedTaggedEventStreamEnvelopeCityCreated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/CityLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "city.created", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope city.created", "type": "object" }, "TypedTaggedEventStreamEnvelopeCityResumed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "city.resumed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope city.resumed", "type": "object" }, "TypedTaggedEventStreamEnvelopeCitySuspended": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "city.suspended", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope city.suspended", "type": "object" }, "TypedTaggedEventStreamEnvelopeCityUnregisterRequested": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/CityLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "city.unregister_requested", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope city.unregister_requested", "type": "object" }, "TypedTaggedEventStreamEnvelopeControllerStarted": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "controller.started", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope controller.started", "type": "object" }, "TypedTaggedEventStreamEnvelopeControllerStopped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "controller.stopped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope controller.stopped", "type": "object" }, "TypedTaggedEventStreamEnvelopeConvoyClosed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "convoy.closed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope convoy.closed", "type": "object" }, "TypedTaggedEventStreamEnvelopeConvoyCreated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "convoy.created", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope convoy.created", "type": "object" }, "TypedTaggedEventStreamEnvelopeCustom": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": {}, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "not": { "enum": [ "session.woke", "session.stopped", "session.crashed", "session.draining", "session.undrained", "session.quarantined", "session.idle_killed", "session.max_age_killed", "session.suspended", "session.updated", "session.drain_acked_with_assigned_work", "session.stranded", "session.reset_stalled", "session.work_query_failed", "session.cold_start_timeout", "bead.created", "bead.closed", "bead.deleted", "bead.updated", "bead.worktree.reaped", "bead.worktree.reap_skipped", "mail.sent", "mail.read", "mail.archived", "mail.marked_read", "mail.marked_unread", "mail.replied", "mail.deleted", "convoy.created", "convoy.closed", "controller.started", "controller.stopped", "city.suspended", "city.resumed", "request.result.city.create", "request.result.city.unregister", "request.result.session.create", "request.result.session.message", "request.result.session.submit", "request.failed", "city.created", "city.unregister_requested", "order.fired", "order.completed", "order.failed", "provider.swapped", "worker.operation", "project.identity.stamped", "supervisor.fs_pressure.skipped_tick", "supervisor.shutdown_requested", "extmsg.bound", "extmsg.unbound", "extmsg.group_created", "extmsg.adapter_added", "extmsg.adapter_removed", "extmsg.inbound", "extmsg.outbound", "events.rotated", "gc.store.maintenance.done", "gc.store.maintenance.failed", "pg.credential_resolved" ] }, "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope custom", "type": "object" }, "TypedTaggedEventStreamEnvelopeEventsRotated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/RotatedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "events.rotated", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope events.rotated", "type": "object" }, "TypedTaggedEventStreamEnvelopeExtmsgAdapterAdded": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/AdapterEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.adapter_added", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope extmsg.adapter_added", "type": "object" }, "TypedTaggedEventStreamEnvelopeExtmsgAdapterRemoved": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/AdapterEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.adapter_removed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope extmsg.adapter_removed", "type": "object" }, "TypedTaggedEventStreamEnvelopeExtmsgBound": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/BoundEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.bound", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope extmsg.bound", "type": "object" }, "TypedTaggedEventStreamEnvelopeExtmsgGroupCreated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/GroupCreatedEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.group_created", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope extmsg.group_created", "type": "object" }, "TypedTaggedEventStreamEnvelopeExtmsgInbound": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/InboundEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.inbound", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope extmsg.inbound", "type": "object" }, "TypedTaggedEventStreamEnvelopeExtmsgOutbound": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/OutboundEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.outbound", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope extmsg.outbound", "type": "object" }, "TypedTaggedEventStreamEnvelopeExtmsgUnbound": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/UnboundEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "extmsg.unbound", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope extmsg.unbound", "type": "object" }, "TypedTaggedEventStreamEnvelopeGcStoreMaintenanceDone": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/StoreMaintenanceDonePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "gc.store.maintenance.done", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope gc.store.maintenance.done", "type": "object" }, "TypedTaggedEventStreamEnvelopeGcStoreMaintenanceFailed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/StoreMaintenanceFailedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "gc.store.maintenance.failed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope gc.store.maintenance.failed", "type": "object" }, "TypedTaggedEventStreamEnvelopeMailArchived": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.archived", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope mail.archived", "type": "object" }, "TypedTaggedEventStreamEnvelopeMailDeleted": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.deleted", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope mail.deleted", "type": "object" }, "TypedTaggedEventStreamEnvelopeMailMarkedRead": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.marked_read", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope mail.marked_read", "type": "object" }, "TypedTaggedEventStreamEnvelopeMailMarkedUnread": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.marked_unread", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope mail.marked_unread", "type": "object" }, "TypedTaggedEventStreamEnvelopeMailRead": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.read", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope mail.read", "type": "object" }, "TypedTaggedEventStreamEnvelopeMailReplied": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.replied", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope mail.replied", "type": "object" }, "TypedTaggedEventStreamEnvelopeMailSent": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/MailEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "mail.sent", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope mail.sent", "type": "object" }, "TypedTaggedEventStreamEnvelopeOrderCompleted": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "order.completed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope order.completed", "type": "object" }, "TypedTaggedEventStreamEnvelopeOrderFailed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "order.failed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope order.failed", "type": "object" }, "TypedTaggedEventStreamEnvelopeOrderFired": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "order.fired", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope order.fired", "type": "object" }, "TypedTaggedEventStreamEnvelopePgCredentialResolved": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/PostgresCredentialResolvedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "pg.credential_resolved", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope pg.credential_resolved", "type": "object" }, "TypedTaggedEventStreamEnvelopeProjectIdentityStamped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/ProjectIdentityStampedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "project.identity.stamped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope project.identity.stamped", "type": "object" }, "TypedTaggedEventStreamEnvelopeProviderSwapped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "provider.swapped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope provider.swapped", "type": "object" }, "TypedTaggedEventStreamEnvelopeRequestFailed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/RequestFailedPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.failed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope request.failed", "type": "object" }, "TypedTaggedEventStreamEnvelopeRequestResultCityCreate": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/CityCreateSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.city.create", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope request.result.city.create", "type": "object" }, "TypedTaggedEventStreamEnvelopeRequestResultCityUnregister": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/CityUnregisterSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.city.unregister", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope request.result.city.unregister", "type": "object" }, "TypedTaggedEventStreamEnvelopeRequestResultSessionCreate": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionCreateSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.session.create", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope request.result.session.create", "type": "object" }, "TypedTaggedEventStreamEnvelopeRequestResultSessionMessage": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionMessageSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.session.message", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope request.result.session.message", "type": "object" }, "TypedTaggedEventStreamEnvelopeRequestResultSessionSubmit": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionSubmitSucceededPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "request.result.session.submit", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope request.result.session.submit", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionColdStartTimeout": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.cold_start_timeout", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.cold_start_timeout", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionCrashed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.crashed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.crashed", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionDrainAckedWithAssignedWork": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionDrainAckedWithAssignedWorkPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.drain_acked_with_assigned_work", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.drain_acked_with_assigned_work", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionDraining": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.draining", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.draining", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionIdleKilled": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.idle_killed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.idle_killed", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionMaxAgeKilled": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.max_age_killed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.max_age_killed", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionQuarantined": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.quarantined", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.quarantined", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionResetStalled": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionResetStalledPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.reset_stalled", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.reset_stalled", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionStopped": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.stopped", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.stopped", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionStranded": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.stranded", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.stranded", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionSuspended": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.suspended", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.suspended", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionUndrained": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.undrained", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.undrained", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionUpdated": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.updated", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.updated", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionWoke": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/NoPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.woke", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.woke", "type": "object" }, "TypedTaggedEventStreamEnvelopeSessionWorkQueryFailed": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SessionLifecyclePayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "session.work_query_failed", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope session.work_query_failed", "type": "object" }, "TypedTaggedEventStreamEnvelopeSupervisorFsPressureSkippedTick": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SupervisorFSPressureSkippedTickPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "supervisor.fs_pressure.skipped_tick", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope supervisor.fs_pressure.skipped_tick", "type": "object" }, "TypedTaggedEventStreamEnvelopeSupervisorShutdownRequested": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/SupervisorShutdownPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "supervisor.shutdown_requested", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope supervisor.shutdown_requested", "type": "object" }, "TypedTaggedEventStreamEnvelopeWorkerOperation": { "additionalProperties": false, "properties": { "actor": { "type": "string" }, "city": { "type": "string" }, "message": { "type": "string" }, "payload": { "$ref": "#/components/schemas/WorkerOperationEventPayload" }, "seq": { "format": "int64", "minimum": 0, "type": "integer" }, "subject": { "type": "string" }, "ts": { "format": "date-time", "type": "string" }, "type": { "const": "worker.operation", "type": "string" }, "workflow": { "$ref": "#/components/schemas/WorkflowEventProjection" } }, "required": [ "seq", "type", "ts", "actor", "payload", "city" ], "title": "TypedTaggedEventStreamEnvelope worker.operation", "type": "object" }, "UnboundEventPayload": { "additionalProperties": false, "properties": { "count": { "format": "int64", "type": "integer" }, "session_id": { "type": "string" } }, "required": [ "session_id", "count" ], "type": "object" }, "WorkerOperationEventPayload": { "additionalProperties": false, "properties": { "agent_name": { "description": "Qualified agent identity (best-effort, absent if the session has no agent_name metadata or alias).", "type": "string" }, "bead_id": { "description": "Work bead this operation is acting on (best-effort, may be absent for non-bead-scoped ops).", "type": "string" }, "cache_creation_tokens": { "description": "Input tokens written into the prompt cache (best-effort, currently always absent).", "format": "int64", "type": "integer" }, "cache_read_tokens": { "description": "Cached input tokens read (best-effort, currently always absent).", "format": "int64", "type": "integer" }, "completion_tokens": { "description": "Output tokens (best-effort, currently always absent).", "format": "int64", "type": "integer" }, "cost_usd_estimate": { "description": "Estimated invocation cost in USD (best-effort, currently always absent; see #1255 for pricing seam).", "format": "double", "type": "number" }, "delivered": { "type": "boolean" }, "duration_ms": { "format": "int64", "type": "integer" }, "error": { "type": "string" }, "finished_at": { "format": "date-time", "type": "string" }, "latency_ms": { "description": "LLM invocation wall-clock latency (best-effort, currently always absent — no source).", "format": "int64", "type": "integer" }, "model": { "description": "LLM model identifier (best-effort, may be absent until follow-up wiring lands).", "type": "string" }, "op_id": { "type": "string" }, "operation": { "type": "string" }, "prompt_sha": { "description": "SHA-256 of the rendered prompt (best-effort, currently always absent; #1256 follow-up).", "type": "string" }, "prompt_tokens": { "description": "Non-cached input tokens (best-effort, currently always absent; treat zero as 'not measured', not 'free').", "format": "int64", "type": "integer" }, "prompt_version": { "description": "Template version frontmatter (best-effort, currently always absent; #1256 follow-up).", "type": "string" }, "provider": { "type": "string" }, "queued": { "type": "boolean" }, "result": { "type": "string" }, "session_id": { "type": "string" }, "session_name": { "type": "string" }, "started_at": { "format": "date-time", "type": "string" }, "template": { "type": "string" }, "transport": { "type": "string" } }, "required": [ "op_id", "operation", "result", "started_at", "finished_at", "duration_ms" ], "type": "object" }, "WorkflowAttemptSummary": { "additionalProperties": false, "properties": { "active_attempt": { "format": "int64", "type": "integer" }, "attempt_count": { "format": "int64", "type": "integer" }, "max_attempts": { "format": "int64", "type": "integer" } }, "required": [ "attempt_count", "active_attempt" ], "type": "object" }, "WorkflowBeadResponse": { "additionalProperties": false, "properties": { "assignee": { "type": "string" }, "attempt": { "format": "int64", "type": "integer" }, "id": { "type": "string" }, "kind": { "type": "string" }, "logical_bead_id": { "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, "type": "object" }, "scope_ref": { "type": "string" }, "status": { "type": "string" }, "step_ref": { "type": "string" }, "title": { "type": "string" } }, "required": [ "id", "title", "status", "kind", "metadata" ], "type": "object" }, "WorkflowDeleteResponse": { "additionalProperties": false, "properties": { "closed": { "description": "Number of beads closed.", "format": "int64", "type": "integer" }, "deleted": { "description": "Number of beads deleted.", "format": "int64", "type": "integer" }, "partial": { "description": "True when one or more teardown steps failed; Closed/Deleted still reflect what succeeded.", "type": "boolean" }, "partial_errors": { "description": "Human-readable errors from failed teardown steps.", "items": { "type": "string" }, "type": [ "array", "null" ] }, "workflow_id": { "description": "Workflow ID.", "type": "string" } }, "required": [ "workflow_id", "closed", "deleted" ], "type": "object" }, "WorkflowDepResponse": { "additionalProperties": false, "properties": { "from": { "type": "string" }, "kind": { "type": "string" }, "to": { "type": "string" } }, "required": [ "from", "to" ], "type": "object" }, "WorkflowEventProjection": { "additionalProperties": false, "properties": { "attempt_summary": { "$ref": "#/components/schemas/WorkflowAttemptSummary" }, "bead": { "$ref": "#/components/schemas/WorkflowBeadResponse" }, "changed_fields": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "event_seq": { "format": "int64", "minimum": 0, "type": "integer" }, "event_ts": { "type": "string" }, "event_type": { "type": "string" }, "logical_node_id": { "type": "string" }, "requires_resync": { "type": "boolean" }, "root_bead_id": { "type": "string" }, "root_store_ref": { "type": "string" }, "scope_kind": { "type": "string" }, "scope_ref": { "type": "string" }, "type": { "type": "string" }, "watch_generation": { "type": "string" }, "workflow_id": { "type": "string" }, "workflow_seq": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "type", "workflow_id", "root_bead_id", "root_store_ref", "scope_kind", "scope_ref", "watch_generation", "event_seq", "workflow_seq", "event_ts", "event_type", "bead", "changed_fields", "logical_node_id" ], "type": "object" }, "WorkflowSnapshotResponse": { "additionalProperties": false, "properties": { "beads": { "items": { "$ref": "#/components/schemas/WorkflowBeadResponse" }, "type": [ "array", "null" ] }, "deps": { "items": { "$ref": "#/components/schemas/WorkflowDepResponse" }, "type": [ "array", "null" ] }, "logical_edges": { "items": { "$ref": "#/components/schemas/WorkflowDepResponse" }, "type": [ "array", "null" ] }, "logical_nodes": { "items": { "$ref": "#/components/schemas/LogicalNode" }, "type": [ "array", "null" ] }, "partial": { "type": "boolean" }, "resolved_root_store": { "type": "string" }, "root_bead_id": { "type": "string" }, "root_store_ref": { "type": "string" }, "scope_groups": { "items": { "$ref": "#/components/schemas/ScopeGroup" }, "type": [ "array", "null" ] }, "scope_kind": { "type": "string" }, "scope_ref": { "type": "string" }, "snapshot_event_seq": { "format": "int64", "minimum": 0, "type": "integer" }, "snapshot_version": { "format": "int64", "minimum": 0, "type": "integer" }, "stores_scanned": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "workflow_id": { "type": "string" } }, "required": [ "workflow_id", "root_bead_id", "root_store_ref", "scope_kind", "scope_ref", "beads", "deps", "logical_nodes", "logical_edges", "scope_groups", "partial", "resolved_root_store", "stores_scanned", "snapshot_version" ], "type": "object" }, "WorkspaceResponse": { "additionalProperties": false, "properties": { "declared_name": { "type": "string" }, "declared_prefix": { "type": "string" }, "max_active_sessions": { "format": "int64", "type": "integer" }, "name": { "type": "string" }, "prefix": { "type": "string" }, "provider": { "type": "string" }, "session_template": { "type": "string" }, "suspended": { "type": "boolean" } }, "required": [ "name", "suspended" ], "type": "object" } } }, "info": { "title": "Gas City Supervisor API", "version": "0.1.0" }, "openapi": "3.1.0", "paths": { "/health": { "get": { "operationId": "get-health", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupervisorHealthOutputBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get health" } }, "/v0/cities": { "get": { "operationId": "get-v0-cities", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupervisorCitiesOutputBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 cities" } }, "/v0/city": { "post": { "operationId": "post-v0-city", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CityCreateRequest" } } }, "required": true }, "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } }, "description": "Accepted", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city" } }, "/v0/city/{cityName}": { "get": { "operationId": "get-v0-city-by-city-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CityGetResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name" }, "patch": { "operationId": "patch-v0-city-by-city-name", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CityPatchInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Patch v0 city by city name" } }, "/v0/city/{cityName}/agent/{base}": { "delete": { "operationId": "delete-v0-city-by-city-name-agent-by-base", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent name (unqualified).", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent name (unqualified).", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name agent by base" }, "get": { "operationId": "get-v0-city-by-city-name-agent-by-base", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent name (unqualified, no rig).", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent name (unqualified, no rig).", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name agent by base" }, "patch": { "operationId": "patch-v0-city-by-city-name-agent-by-base", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent name (unqualified).", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent name (unqualified).", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentUpdateInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Patch v0 city by city name agent by base" } }, "/v0/city/{cityName}/agent/{base}/output": { "get": { "operationId": "get-v0-city-by-city-name-agent-by-base-output", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Number of recent compaction segments to return. This API parameter keeps compaction-segment semantics even though gc session logs --tail counts displayed transcript entries. Omit for the endpoint default (usually 1); 0 returns all segments; N\u003e0 returns the last N.", "explode": false, "in": "query", "name": "tail", "schema": { "description": "Number of recent compaction segments to return. This API parameter keeps compaction-segment semantics even though gc session logs --tail counts displayed transcript entries. Omit for the endpoint default (usually 1); 0 returns all segments; N\u003e0 returns the last N.", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } }, { "description": "Message UUID cursor for loading older messages.", "explode": false, "in": "query", "name": "before", "schema": { "description": "Message UUID cursor for loading older messages.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentOutputResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name agent by base output" } }, "/v0/city/{cityName}/agent/{base}/output/stream": { "get": { "description": "Server-Sent Events stream of agent output (session log tail or tmux pane polling).", "operationId": "stream-agent-output", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } } ], "responses": { "200": { "content": { "text/event-stream": { "schema": { "description": "Each oneOf object represents one possible SSE message.", "items": { "oneOf": [ { "properties": { "data": { "$ref": "#/components/schemas/HeartbeatEvent" }, "event": { "const": "heartbeat", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event heartbeat", "type": "object" }, { "properties": { "data": { "$ref": "#/components/schemas/AgentOutputResponse" }, "event": { "const": "turn", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event turn", "type": "object" } ] }, "title": "Server Sent Events", "type": "array" } } }, "description": "OK", "headers": { "GC-Agent-Status": { "description": "Agent runtime status at the time streaming began. Emitted as \"stopped\" when the agent is not running (the stream then serves replayed transcript from the session log).", "schema": { "description": "Agent runtime status at the time streaming began. Emitted as \"stopped\" when the agent is not running (the stream then serves replayed transcript from the session log).", "type": "string" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Stream agent output in real time" } }, "/v0/city/{cityName}/agent/{base}/{action}": { "post": { "operationId": "post-v0-city-by-city-name-agent-by-base-by-action", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent name (unqualified).", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent name (unqualified).", "type": "string" } }, { "description": "Action to perform.", "in": "path", "name": "action", "required": true, "schema": { "description": "Action to perform.", "enum": [ "suspend", "resume" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name agent by base by action" } }, "/v0/city/{cityName}/agent/{dir}/{base}": { "delete": { "operationId": "delete-v0-city-by-city-name-agent-by-dir-by-base", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent directory (rig name).", "in": "path", "name": "dir", "required": true, "schema": { "description": "Agent directory (rig name).", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name agent by dir by base" }, "get": { "operationId": "get-v0-city-by-city-name-agent-by-dir-by-base", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent directory (rig name).", "in": "path", "name": "dir", "required": true, "schema": { "description": "Agent directory (rig name).", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name agent by dir by base" }, "patch": { "operationId": "patch-v0-city-by-city-name-agent-by-dir-by-base", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent directory (rig name).", "in": "path", "name": "dir", "required": true, "schema": { "description": "Agent directory (rig name).", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentUpdateQualifiedInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Patch v0 city by city name agent by dir by base" } }, "/v0/city/{cityName}/agent/{dir}/{base}/output": { "get": { "operationId": "get-v0-city-by-city-name-agent-by-dir-by-base-output", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Number of recent compaction segments to return. This API parameter keeps compaction-segment semantics even though gc session logs --tail counts displayed transcript entries. Omit for the endpoint default (usually 1); 0 returns all segments; N\u003e0 returns the last N.", "explode": false, "in": "query", "name": "tail", "schema": { "description": "Number of recent compaction segments to return. This API parameter keeps compaction-segment semantics even though gc session logs --tail counts displayed transcript entries. Omit for the endpoint default (usually 1); 0 returns all segments; N\u003e0 returns the last N.", "type": "string" } }, { "description": "Agent directory (rig name).", "in": "path", "name": "dir", "required": true, "schema": { "description": "Agent directory (rig name).", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } }, { "description": "Message UUID cursor for loading older messages.", "explode": false, "in": "query", "name": "before", "schema": { "description": "Message UUID cursor for loading older messages.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentOutputResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name agent by dir by base output" } }, "/v0/city/{cityName}/agent/{dir}/{base}/output/stream": { "get": { "description": "Server-Sent Events stream of agent output for qualified (rig-prefixed) agent names.", "operationId": "stream-agent-output-qualified", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent directory (rig name).", "in": "path", "name": "dir", "required": true, "schema": { "description": "Agent directory (rig name).", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } } ], "responses": { "200": { "content": { "text/event-stream": { "schema": { "description": "Each oneOf object represents one possible SSE message.", "items": { "oneOf": [ { "properties": { "data": { "$ref": "#/components/schemas/HeartbeatEvent" }, "event": { "const": "heartbeat", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event heartbeat", "type": "object" }, { "properties": { "data": { "$ref": "#/components/schemas/AgentOutputResponse" }, "event": { "const": "turn", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event turn", "type": "object" } ] }, "title": "Server Sent Events", "type": "array" } } }, "description": "OK", "headers": { "GC-Agent-Status": { "description": "Agent runtime status at the time streaming began. Emitted as \"stopped\" when the agent is not running (the stream then serves replayed transcript from the session log).", "schema": { "description": "Agent runtime status at the time streaming began. Emitted as \"stopped\" when the agent is not running (the stream then serves replayed transcript from the session log).", "type": "string" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Stream agent output in real time (qualified name)" } }, "/v0/city/{cityName}/agent/{dir}/{base}/{action}": { "post": { "operationId": "post-v0-city-by-city-name-agent-by-dir-by-base-by-action", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent directory (rig name).", "in": "path", "name": "dir", "required": true, "schema": { "description": "Agent directory (rig name).", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } }, { "description": "Action to perform.", "in": "path", "name": "action", "required": true, "schema": { "description": "Action to perform.", "enum": [ "suspend", "resume" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name agent by dir by base by action" } }, "/v0/city/{cityName}/agents": { "get": { "operationId": "get-v0-city-by-city-name-agents", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "explode": false, "in": "query", "name": "index", "schema": { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "type": "string" } }, { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "type": "string" } }, { "description": "Filter by pool name.", "explode": false, "in": "query", "name": "pool", "schema": { "description": "Filter by pool name.", "type": "string" } }, { "description": "Filter by rig name.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Filter by rig name.", "type": "string" } }, { "description": "Filter by running state. Omit to return all agents.", "explode": false, "in": "query", "name": "running", "schema": { "description": "Filter by running state. Omit to return all agents.", "enum": [ "true", "false" ], "type": "string" } }, { "description": "Include last output preview.", "explode": false, "in": "query", "name": "peek", "schema": { "description": "Include last output preview.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyAgentResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name agents" }, "post": { "description": "Creates an agent and waits until it is visible to immediate follow-up operations. If the agent is durably created but visibility confirmation is canceled or times out, the retryable 503/504 response includes a Retry-After header.", "operationId": "create-agent", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentCreateInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentCreatedOutputBody" } } }, "description": "Created", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Create an agent" } }, "/v0/city/{cityName}/bead/{id}": { "delete": { "operationId": "delete-v0-city-by-city-name-bead-by-id", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Bead ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name bead by ID" }, "get": { "operationId": "get-v0-city-by-city-name-bead-by-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Bead ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Bead" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name bead by ID" }, "patch": { "operationId": "patch-v0-city-by-city-name-bead-by-id", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Bead ID.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BeadUpdateBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Patch v0 city by city name bead by ID" } }, "/v0/city/{cityName}/bead/{id}/assign": { "post": { "operationId": "post-v0-city-by-city-name-bead-by-id-assign", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Bead ID.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BeadAssignInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name bead by ID assign" } }, "/v0/city/{cityName}/bead/{id}/close": { "post": { "operationId": "post-v0-city-by-city-name-bead-by-id-close", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Bead ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name bead by ID close" } }, "/v0/city/{cityName}/bead/{id}/deps": { "get": { "operationId": "get-v0-city-by-city-name-bead-by-id-deps", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Bead ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BeadDepsResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name bead by ID deps" } }, "/v0/city/{cityName}/bead/{id}/reopen": { "post": { "operationId": "post-v0-city-by-city-name-bead-by-id-reopen", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Bead ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name bead by ID reopen" } }, "/v0/city/{cityName}/bead/{id}/update": { "post": { "operationId": "post-v0-city-by-city-name-bead-by-id-update", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Bead ID.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BeadUpdateBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name bead by ID update" } }, "/v0/city/{cityName}/beads": { "get": { "operationId": "get-v0-city-by-city-name-beads", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "explode": false, "in": "query", "name": "index", "schema": { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "type": "string" } }, { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "type": "string" } }, { "description": "Pagination cursor from a previous response's next_cursor field.", "explode": false, "in": "query", "name": "cursor", "schema": { "description": "Pagination cursor from a previous response's next_cursor field.", "type": "string" } }, { "description": "Maximum number of results to return. 0 = server default.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of results to return. 0 = server default.", "format": "int64", "minimum": 0, "type": "integer" } }, { "description": "Filter by bead status.", "explode": false, "in": "query", "name": "status", "schema": { "description": "Filter by bead status.", "type": "string" } }, { "description": "Filter by bead type.", "explode": false, "in": "query", "name": "type", "schema": { "description": "Filter by bead type.", "type": "string" } }, { "description": "Filter by label.", "explode": false, "in": "query", "name": "label", "schema": { "description": "Filter by label.", "type": "string" } }, { "description": "Filter by assignee.", "explode": false, "in": "query", "name": "assignee", "schema": { "description": "Filter by assignee.", "type": "string" } }, { "description": "Filter by rig.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Filter by rig.", "type": "string" } }, { "description": "Include closed beads.", "explode": false, "in": "query", "name": "all", "schema": { "description": "Include closed beads.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyBead" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name beads" }, "post": { "operationId": "create-bead", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Idempotency key for safe retries.", "in": "header", "name": "Idempotency-Key", "schema": { "description": "Idempotency key for safe retries.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BeadCreateInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Bead" } } }, "description": "Created", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Create a bead" } }, "/v0/city/{cityName}/beads/graph/{rootID}": { "get": { "operationId": "get-v0-city-by-city-name-beads-graph-by-root-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Root bead ID for the graph.", "in": "path", "name": "rootID", "required": true, "schema": { "description": "Root bead ID for the graph.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BeadGraphResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name beads graph by root ID" } }, "/v0/city/{cityName}/beads/ready": { "get": { "operationId": "get-v0-city-by-city-name-beads-ready", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "explode": false, "in": "query", "name": "index", "schema": { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "type": "string" } }, { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyBead" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name beads ready" } }, "/v0/city/{cityName}/config": { "get": { "operationId": "get-v0-city-by-city-name-config", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name config" } }, "/v0/city/{cityName}/config/defaults": { "get": { "operationId": "get-v0-city-by-city-name-config-defaults", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name config defaults" } }, "/v0/city/{cityName}/config/explain": { "get": { "operationId": "get-v0-city-by-city-name-config-explain", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigExplainResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name config explain" } }, "/v0/city/{cityName}/config/validate": { "get": { "operationId": "get-v0-city-by-city-name-config-validate", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigValidateOutputBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name config validate" } }, "/v0/city/{cityName}/convoy/{id}": { "delete": { "operationId": "delete-v0-city-by-city-name-convoy-by-id", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Convoy ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Convoy ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name convoy by ID" }, "get": { "operationId": "get-v0-city-by-city-name-convoy-by-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Convoy ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Convoy ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConvoyGetResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name convoy by ID" } }, "/v0/city/{cityName}/convoy/{id}/add": { "post": { "operationId": "post-v0-city-by-city-name-convoy-by-id-add", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Convoy ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Convoy ID.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConvoyAddInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name convoy by ID add" } }, "/v0/city/{cityName}/convoy/{id}/check": { "get": { "operationId": "get-v0-city-by-city-name-convoy-by-id-check", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Convoy ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Convoy ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConvoyCheckResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name convoy by ID check" } }, "/v0/city/{cityName}/convoy/{id}/close": { "post": { "operationId": "post-v0-city-by-city-name-convoy-by-id-close", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Convoy ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Convoy ID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name convoy by ID close" } }, "/v0/city/{cityName}/convoy/{id}/remove": { "post": { "operationId": "post-v0-city-by-city-name-convoy-by-id-remove", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Convoy ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Convoy ID.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConvoyRemoveInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name convoy by ID remove" } }, "/v0/city/{cityName}/convoys": { "get": { "operationId": "get-v0-city-by-city-name-convoys", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "explode": false, "in": "query", "name": "index", "schema": { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "type": "string" } }, { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "type": "string" } }, { "description": "Pagination cursor from a previous response's next_cursor field.", "explode": false, "in": "query", "name": "cursor", "schema": { "description": "Pagination cursor from a previous response's next_cursor field.", "type": "string" } }, { "description": "Maximum number of results to return. 0 = server default.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of results to return. 0 = server default.", "format": "int64", "minimum": 0, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyBead" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name convoys" }, "post": { "operationId": "create-convoy", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConvoyCreateInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Bead" } } }, "description": "Created", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Create a convoy" } }, "/v0/city/{cityName}/events": { "get": { "operationId": "get-v0-city-by-city-name-events", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "explode": false, "in": "query", "name": "index", "schema": { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "type": "string" } }, { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "type": "string" } }, { "description": "Pagination cursor from a previous response's next_cursor field.", "explode": false, "in": "query", "name": "cursor", "schema": { "description": "Pagination cursor from a previous response's next_cursor field.", "type": "string" } }, { "description": "Maximum number of results to return. 0 = server default.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of results to return. 0 = server default.", "format": "int64", "minimum": 0, "type": "integer" } }, { "description": "Filter by event type.", "explode": false, "in": "query", "name": "type", "schema": { "description": "Filter by event type.", "type": "string" } }, { "description": "Filter by actor.", "explode": false, "in": "query", "name": "actor", "schema": { "description": "Filter by actor.", "type": "string" } }, { "description": "Filter events since duration ago (Go duration string, e.g. 5m).", "explode": false, "in": "query", "name": "since", "schema": { "description": "Filter events since duration ago (Go duration string, e.g. 5m).", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyWireEvent" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name events" }, "post": { "operationId": "emit-event", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventEmitRequest" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventEmitOutputBody" } } }, "description": "Created", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Emit an event" } }, "/v0/city/{cityName}/events/rotate": { "post": { "operationId": "rotate-events", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Wait for archive compression to complete before returning.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "Wait for archive compression to complete before returning.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventRotateResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Force rotate the city event log" } }, "/v0/city/{cityName}/events/stream": { "get": { "description": "Server-Sent Events stream of city events with optional workflow projections. Supports reconnection via Last-Event-ID header or after_seq query param; omitting both starts at the current city event head.", "operationId": "stream-events", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Reconnect position: only deliver events after this sequence number. Omit after_seq and Last-Event-ID to start at the current city event head.", "explode": false, "in": "query", "name": "after_seq", "schema": { "description": "Reconnect position: only deliver events after this sequence number. Omit after_seq and Last-Event-ID to start at the current city event head.", "type": "string" } }, { "description": "SSE reconnect position from the last received event ID. Omit Last-Event-ID and after_seq to start at the current city event head.", "in": "header", "name": "Last-Event-ID", "schema": { "description": "SSE reconnect position from the last received event ID. Omit Last-Event-ID and after_seq to start at the current city event head.", "type": "string" } } ], "responses": { "200": { "content": { "text/event-stream": { "schema": { "description": "Each oneOf object represents one possible SSE message.", "items": { "oneOf": [ { "properties": { "data": { "$ref": "#/components/schemas/TypedEventStreamEnvelope" }, "event": { "const": "event", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event event", "type": "object" }, { "properties": { "data": { "$ref": "#/components/schemas/HeartbeatEvent" }, "event": { "const": "heartbeat", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event heartbeat", "type": "object" } ] }, "title": "Server Sent Events", "type": "array" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Stream city events in real time" } }, "/v0/city/{cityName}/extmsg/adapters": { "delete": { "operationId": "delete-v0-city-by-city-name-extmsg-adapters", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgAdapterUnregisterInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name extmsg adapters" }, "get": { "operationId": "get-v0-city-by-city-name-extmsg-adapters", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyExtmsgAdapterInfo" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name extmsg adapters" }, "post": { "operationId": "register-extmsg-adapter", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgAdapterRegisterInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgAdapterRegisterOutputBody" } } }, "description": "Created", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Register an external messaging adapter" } }, "/v0/city/{cityName}/extmsg/bind": { "post": { "operationId": "post-v0-city-by-city-name-extmsg-bind", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgBindInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionBindingRecord" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name extmsg bind" } }, "/v0/city/{cityName}/extmsg/bindings": { "get": { "operationId": "get-v0-city-by-city-name-extmsg-bindings", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID to list bindings for.", "explode": false, "in": "query", "name": "session_id", "schema": { "description": "Session ID to list bindings for.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodySessionBindingRecord" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name extmsg bindings" } }, "/v0/city/{cityName}/extmsg/groups": { "get": { "operationId": "get-v0-city-by-city-name-extmsg-groups", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Scope ID.", "explode": false, "in": "query", "name": "scope_id", "schema": { "description": "Scope ID.", "type": "string" } }, { "description": "Provider name.", "explode": false, "in": "query", "name": "provider", "schema": { "description": "Provider name.", "type": "string" } }, { "description": "Account ID.", "explode": false, "in": "query", "name": "account_id", "schema": { "description": "Account ID.", "type": "string" } }, { "description": "Conversation ID.", "explode": false, "in": "query", "name": "conversation_id", "schema": { "description": "Conversation ID.", "type": "string" } }, { "description": "Conversation kind.", "explode": false, "in": "query", "name": "kind", "schema": { "description": "Conversation kind.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConversationGroupRecord" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name extmsg groups" }, "post": { "operationId": "ensure-extmsg-group", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgGroupEnsureInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConversationGroupRecord" } } }, "description": "Created", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Ensure an external messaging group exists" } }, "/v0/city/{cityName}/extmsg/inbound": { "post": { "operationId": "post-v0-city-by-city-name-extmsg-inbound", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgInboundInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InboundResult" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name extmsg inbound" } }, "/v0/city/{cityName}/extmsg/outbound": { "post": { "operationId": "post-v0-city-by-city-name-extmsg-outbound", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgOutboundInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OutboundResult" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name extmsg outbound" } }, "/v0/city/{cityName}/extmsg/participants": { "delete": { "operationId": "delete-v0-city-by-city-name-extmsg-participants", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgParticipantRemoveInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name extmsg participants" }, "post": { "operationId": "post-v0-city-by-city-name-extmsg-participants", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgParticipantUpsertInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConversationGroupParticipant" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name extmsg participants" } }, "/v0/city/{cityName}/extmsg/transcript": { "get": { "operationId": "get-v0-city-by-city-name-extmsg-transcript", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Scope ID.", "explode": false, "in": "query", "name": "scope_id", "schema": { "description": "Scope ID.", "type": "string" } }, { "description": "Provider name.", "explode": false, "in": "query", "name": "provider", "schema": { "description": "Provider name.", "type": "string" } }, { "description": "Account ID.", "explode": false, "in": "query", "name": "account_id", "schema": { "description": "Account ID.", "type": "string" } }, { "description": "Conversation ID.", "explode": false, "in": "query", "name": "conversation_id", "schema": { "description": "Conversation ID.", "type": "string" } }, { "description": "Parent conversation ID.", "explode": false, "in": "query", "name": "parent_conversation_id", "schema": { "description": "Parent conversation ID.", "type": "string" } }, { "description": "Conversation kind.", "explode": false, "in": "query", "name": "kind", "schema": { "description": "Conversation kind.", "type": "string" } }, { "description": "Return entries with sequence greater than this cursor (default 0).", "explode": false, "in": "query", "name": "after_sequence", "schema": { "description": "Return entries with sequence greater than this cursor (default 0).", "format": "int64", "type": "integer" } }, { "description": "Maximum number of entries to return (default 100, max 500).", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of entries to return (default 100, max 500).", "format": "int64", "type": "integer" } }, { "description": "Sort order by sequence: asc (oldest-first, default) or desc (newest-first).", "explode": false, "in": "query", "name": "order", "schema": { "description": "Sort order by sequence: asc (oldest-first, default) or desc (newest-first).", "enum": [ "asc", "desc" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyConversationTranscriptRecord" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name extmsg transcript" } }, "/v0/city/{cityName}/extmsg/transcript/ack": { "post": { "operationId": "post-v0-city-by-city-name-extmsg-transcript-ack", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgTranscriptAckInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name extmsg transcript ack" } }, "/v0/city/{cityName}/extmsg/unbind": { "post": { "operationId": "post-v0-city-by-city-name-extmsg-unbind", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgUnbindInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtMsgUnbindBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name extmsg unbind" } }, "/v0/city/{cityName}/formula/{name}": { "get": { "operationId": "get-v0-city-by-city-name-formula-by-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Formula name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Formula name.", "type": "string" } }, { "description": "Scope kind (city or rig).", "explode": false, "in": "query", "name": "scope_kind", "schema": { "description": "Scope kind (city or rig).", "type": "string" } }, { "description": "Scope reference.", "explode": false, "in": "query", "name": "scope_ref", "schema": { "description": "Scope reference.", "type": "string" } }, { "description": "Target agent for preview compilation.", "explode": false, "in": "query", "name": "target", "required": true, "schema": { "description": "Target agent for preview compilation.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormulaDetailResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name formula by name" } }, "/v0/city/{cityName}/formulas": { "get": { "operationId": "get-v0-city-by-city-name-formulas", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Scope kind (city or rig).", "explode": false, "in": "query", "name": "scope_kind", "schema": { "description": "Scope kind (city or rig).", "type": "string" } }, { "description": "Scope reference.", "explode": false, "in": "query", "name": "scope_ref", "schema": { "description": "Scope reference.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormulaListBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name formulas" } }, "/v0/city/{cityName}/formulas/feed": { "get": { "operationId": "get-v0-city-by-city-name-formulas-feed", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Scope kind (city or rig).", "explode": false, "in": "query", "name": "scope_kind", "schema": { "description": "Scope kind (city or rig).", "type": "string" } }, { "description": "Scope reference.", "explode": false, "in": "query", "name": "scope_ref", "schema": { "description": "Scope reference.", "type": "string" } }, { "description": "Maximum number of feed items to return. 0 = default.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of feed items to return. 0 = default.", "format": "int64", "minimum": 0, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormulaFeedBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name formulas feed" } }, "/v0/city/{cityName}/formulas/{name}": { "get": { "operationId": "get-v0-city-by-city-name-formulas-by-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Formula name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Formula name.", "type": "string" } }, { "description": "Scope kind (city or rig).", "explode": false, "in": "query", "name": "scope_kind", "schema": { "description": "Scope kind (city or rig).", "type": "string" } }, { "description": "Scope reference.", "explode": false, "in": "query", "name": "scope_ref", "schema": { "description": "Scope reference.", "type": "string" } }, { "description": "Target agent for preview compilation.", "explode": false, "in": "query", "name": "target", "required": true, "schema": { "description": "Target agent for preview compilation.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormulaDetailResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name formulas by name" } }, "/v0/city/{cityName}/formulas/{name}/preview": { "post": { "operationId": "post-v0-city-by-city-name-formulas-by-name-preview", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Formula name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Formula name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormulaPreviewBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormulaDetailResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name formulas by name preview" } }, "/v0/city/{cityName}/formulas/{name}/runs": { "get": { "operationId": "get-v0-city-by-city-name-formulas-by-name-runs", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Formula name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Formula name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Scope kind (city or rig).", "explode": false, "in": "query", "name": "scope_kind", "schema": { "description": "Scope kind (city or rig).", "type": "string" } }, { "description": "Scope reference.", "explode": false, "in": "query", "name": "scope_ref", "schema": { "description": "Scope reference.", "type": "string" } }, { "description": "Maximum number of recent runs to return. 0 = default.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of recent runs to return. 0 = default.", "format": "int64", "minimum": 0, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormulaRunsResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name formulas by name runs" } }, "/v0/city/{cityName}/health": { "get": { "operationId": "get-v0-city-by-city-name-health", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthOutputBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name health" } }, "/v0/city/{cityName}/mail": { "get": { "operationId": "get-v0-city-by-city-name-mail", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "explode": false, "in": "query", "name": "index", "schema": { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "type": "string" } }, { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "type": "string" } }, { "description": "Pagination cursor from a previous response's next_cursor field.", "explode": false, "in": "query", "name": "cursor", "schema": { "description": "Pagination cursor from a previous response's next_cursor field.", "type": "string" } }, { "description": "Maximum number of results to return. 0 = server default.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of results to return. 0 = server default.", "format": "int64", "minimum": 0, "type": "integer" } }, { "description": "Filter by agent name.", "explode": false, "in": "query", "name": "agent", "schema": { "description": "Filter by agent name.", "type": "string" } }, { "description": "Filter by status (unread, all).", "explode": false, "in": "query", "name": "status", "schema": { "description": "Filter by status (unread, all).", "type": "string" } }, { "description": "Filter by rig name.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Filter by rig name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailListBody" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name mail" }, "post": { "operationId": "send-mail", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Idempotency key for safe retries.", "in": "header", "name": "Idempotency-Key", "schema": { "description": "Idempotency key for safe retries.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailSendInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } }, "description": "Created", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Send a mail message" } }, "/v0/city/{cityName}/mail/count": { "get": { "operationId": "get-v0-city-by-city-name-mail-count", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Filter by agent name.", "explode": false, "in": "query", "name": "agent", "schema": { "description": "Filter by agent name.", "type": "string" } }, { "description": "Filter by rig name.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Filter by rig name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailCountOutputBody" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name mail count" } }, "/v0/city/{cityName}/mail/thread/{id}": { "get": { "operationId": "get-v0-city-by-city-name-mail-thread-by-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Thread ID, or any message ID in the thread.", "in": "path", "name": "id", "required": true, "schema": { "description": "Thread ID, or any message ID in the thread.", "type": "string" } }, { "description": "Filter by rig.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Filter by rig.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailListBody" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name mail thread by ID" } }, "/v0/city/{cityName}/mail/{id}": { "delete": { "operationId": "delete-v0-city-by-city-name-mail-by-id", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Message ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Message ID.", "type": "string" } }, { "description": "Rig hint.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Rig hint.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name mail by ID" }, "get": { "operationId": "get-v0-city-by-city-name-mail-by-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Message ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Message ID.", "type": "string" } }, { "description": "Rig hint for O(1) lookup.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Rig hint for O(1) lookup.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name mail by ID" } }, "/v0/city/{cityName}/mail/{id}/archive": { "post": { "operationId": "post-v0-city-by-city-name-mail-by-id-archive", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Message ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Message ID.", "type": "string" } }, { "description": "Rig hint.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Rig hint.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name mail by ID archive" } }, "/v0/city/{cityName}/mail/{id}/mark-unread": { "post": { "operationId": "post-v0-city-by-city-name-mail-by-id-mark-unread", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Message ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Message ID.", "type": "string" } }, { "description": "Rig hint.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Rig hint.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name mail by ID mark unread" } }, "/v0/city/{cityName}/mail/{id}/read": { "post": { "operationId": "post-v0-city-by-city-name-mail-by-id-read", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Message ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Message ID.", "type": "string" } }, { "description": "Rig hint.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Rig hint.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name mail by ID read" } }, "/v0/city/{cityName}/mail/{id}/reply": { "post": { "operationId": "reply-mail", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Message ID.", "in": "path", "name": "id", "required": true, "schema": { "description": "Message ID.", "type": "string" } }, { "description": "Rig hint.", "explode": false, "in": "query", "name": "rig", "schema": { "description": "Rig hint.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MailReplyInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } }, "description": "Created", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Reply to a mail message" } }, "/v0/city/{cityName}/maintenance/dolt-gc": { "post": { "description": "Trigger a one-off maintenance cycle (dolt backup + CALL DOLT_GC + smoke test). Default async (202); ?wait=true blocks until completion (200). Returns 409 when a run is already in flight.", "operationId": "trigger-maintenance-dolt-gc", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "When true, the handler blocks until the run completes and returns 200 with the full Run. When false (default), the handler returns 202 Accepted immediately.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "When true, the handler blocks until the run completes and returns 200 with the full Run. When false (default), the handler returns 202 Accepted immediately.", "type": "boolean" } } ], "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaintenanceTriggerBody" } } }, "description": "Accepted", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Trigger a Dolt store maintenance run" } }, "/v0/city/{cityName}/maintenance/status": { "get": { "operationId": "get-v0-city-by-city-name-maintenance-status", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaintenanceStatusBody" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "format": "double", "type": "number" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name maintenance status" } }, "/v0/city/{cityName}/order/history/{bead_id}": { "get": { "operationId": "get-v0-city-by-city-name-order-history-by-bead-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bead ID for the order run.", "in": "path", "name": "bead_id", "required": true, "schema": { "description": "Bead ID for the order run.", "type": "string" } }, { "description": "Store reference for disambiguating store-local bead IDs.", "explode": false, "in": "query", "name": "store_ref", "schema": { "description": "Store reference for disambiguating store-local bead IDs.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderHistoryDetailResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name order history by bead ID" } }, "/v0/city/{cityName}/order/{name}": { "get": { "operationId": "get-v0-city-by-city-name-order-by-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Order name or scoped name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Order name or scoped name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name order by name" } }, "/v0/city/{cityName}/order/{name}/disable": { "post": { "operationId": "post-v0-city-by-city-name-order-by-name-disable", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Order name or scoped name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Order name or scoped name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name order by name disable" } }, "/v0/city/{cityName}/order/{name}/enable": { "post": { "operationId": "post-v0-city-by-city-name-order-by-name-enable", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Order name or scoped name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Order name or scoped name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name order by name enable" } }, "/v0/city/{cityName}/orders": { "get": { "operationId": "get-v0-city-by-city-name-orders", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderListBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name orders" } }, "/v0/city/{cityName}/orders/check": { "get": { "operationId": "get-v0-city-by-city-name-orders-check", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Bypass cached order-check responses and cached order history.", "explode": false, "in": "query", "name": "fresh", "schema": { "description": "Bypass cached order-check responses and cached order history.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderCheckListBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name orders check" } }, "/v0/city/{cityName}/orders/feed": { "get": { "operationId": "get-v0-city-by-city-name-orders-feed", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Scope kind (city or rig).", "explode": false, "in": "query", "name": "scope_kind", "schema": { "description": "Scope kind (city or rig).", "type": "string" } }, { "description": "Scope reference.", "explode": false, "in": "query", "name": "scope_ref", "schema": { "description": "Scope reference.", "type": "string" } }, { "description": "Maximum number of feed items to return.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of feed items to return.", "format": "int64", "minimum": 0, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrdersFeedBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name orders feed" } }, "/v0/city/{cityName}/orders/history": { "get": { "operationId": "get-v0-city-by-city-name-orders-history", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Scoped order name.", "explode": false, "in": "query", "name": "scoped_name", "required": true, "schema": { "description": "Scoped order name.", "minLength": 1, "type": "string" } }, { "description": "Maximum number of history entries. 0 = default.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of history entries. 0 = default.", "format": "int64", "minimum": 0, "type": "integer" } }, { "description": "Return entries before this RFC3339 timestamp.", "explode": false, "in": "query", "name": "before", "schema": { "description": "Return entries before this RFC3339 timestamp.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderHistoryListBody" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name orders history" } }, "/v0/city/{cityName}/packs": { "get": { "operationId": "get-v0-city-by-city-name-packs", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PackListBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name packs" } }, "/v0/city/{cityName}/patches/agent/{base}": { "delete": { "operationId": "delete-v0-city-by-city-name-patches-agent-by-base", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent patch name (unqualified).", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent patch name (unqualified).", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchDeletedResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name patches agent by base" }, "get": { "operationId": "get-v0-city-by-city-name-patches-agent-by-base", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent patch name (unqualified).", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent patch name (unqualified).", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentPatch" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name patches agent by base" } }, "/v0/city/{cityName}/patches/agent/{dir}/{base}": { "delete": { "operationId": "delete-v0-city-by-city-name-patches-agent-by-dir-by-base", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent directory (rig name).", "in": "path", "name": "dir", "required": true, "schema": { "description": "Agent directory (rig name).", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchDeletedResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name patches agent by dir by base" }, "get": { "operationId": "get-v0-city-by-city-name-patches-agent-by-dir-by-base", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Agent directory (rig name).", "in": "path", "name": "dir", "required": true, "schema": { "description": "Agent directory (rig name).", "type": "string" } }, { "description": "Agent base name.", "in": "path", "name": "base", "required": true, "schema": { "description": "Agent base name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentPatch" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name patches agent by dir by base" } }, "/v0/city/{cityName}/patches/agents": { "get": { "operationId": "get-v0-city-by-city-name-patches-agents", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyAgentPatch" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name patches agents" }, "put": { "operationId": "put-v0-city-by-city-name-patches-agents", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgentPatchSetInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchOKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Put v0 city by city name patches agents" } }, "/v0/city/{cityName}/patches/provider/{name}": { "delete": { "operationId": "delete-v0-city-by-city-name-patches-provider-by-name", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Provider patch name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Provider patch name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchDeletedResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name patches provider by name" }, "get": { "operationId": "get-v0-city-by-city-name-patches-provider-by-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Provider patch name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Provider patch name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderPatch" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name patches provider by name" } }, "/v0/city/{cityName}/patches/providers": { "get": { "operationId": "get-v0-city-by-city-name-patches-providers", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyProviderPatch" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name patches providers" }, "put": { "operationId": "put-v0-city-by-city-name-patches-providers", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderPatchSetInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchOKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Put v0 city by city name patches providers" } }, "/v0/city/{cityName}/patches/rig/{name}": { "delete": { "operationId": "delete-v0-city-by-city-name-patches-rig-by-name", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Rig patch name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Rig patch name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchDeletedResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name patches rig by name" }, "get": { "operationId": "get-v0-city-by-city-name-patches-rig-by-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Rig patch name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Rig patch name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RigPatch" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name patches rig by name" } }, "/v0/city/{cityName}/patches/rigs": { "get": { "operationId": "get-v0-city-by-city-name-patches-rigs", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyRigPatch" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name patches rigs" }, "put": { "operationId": "put-v0-city-by-city-name-patches-rigs", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RigPatchSetInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchOKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Put v0 city by city name patches rigs" } }, "/v0/city/{cityName}/pending": { "get": { "operationId": "get-v0-city-by-city-name-pending", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyCityPendingEntry" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name pending" } }, "/v0/city/{cityName}/provider-readiness": { "get": { "operationId": "get-v0-city-by-city-name-provider-readiness", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Comma-separated provider names to check (default: claude,codex,gemini).", "explode": false, "in": "query", "name": "providers", "schema": { "description": "Comma-separated provider names to check (default: claude,codex,gemini).", "type": "string" } }, { "description": "Force fresh probe, bypassing cache.", "explode": false, "in": "query", "name": "fresh", "schema": { "description": "Force fresh probe, bypassing cache.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderReadinessResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name provider readiness" } }, "/v0/city/{cityName}/provider/{name}": { "delete": { "operationId": "delete-v0-city-by-city-name-provider-by-name", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Provider name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Provider name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name provider by name" }, "get": { "operationId": "get-v0-city-by-city-name-provider-by-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Provider name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Provider name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name provider by name" }, "patch": { "operationId": "patch-v0-city-by-city-name-provider-by-name", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Provider name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Provider name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderUpdateInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Patch v0 city by city name provider by name" } }, "/v0/city/{cityName}/providers": { "get": { "operationId": "get-v0-city-by-city-name-providers", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyProviderResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name providers" }, "post": { "operationId": "create-provider", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderCreateInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderCreatedOutputBody" } } }, "description": "Created", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Create a provider" } }, "/v0/city/{cityName}/providers/public": { "get": { "operationId": "get-v0-city-by-city-name-providers-public", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderPublicListBody" } } }, "description": "OK", "headers": { "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name providers public" } }, "/v0/city/{cityName}/readiness": { "get": { "operationId": "get-v0-city-by-city-name-readiness", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Comma-separated readiness items to check (default: claude,codex,gemini,github_cli).", "explode": false, "in": "query", "name": "items", "schema": { "description": "Comma-separated readiness items to check (default: claude,codex,gemini,github_cli).", "type": "string" } }, { "description": "Force fresh probe, bypassing cache.", "explode": false, "in": "query", "name": "fresh", "schema": { "description": "Force fresh probe, bypassing cache.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadinessResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name readiness" } }, "/v0/city/{cityName}/rig/{name}": { "delete": { "operationId": "delete-v0-city-by-city-name-rig-by-name", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Rig name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Rig name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name rig by name" }, "get": { "operationId": "get-v0-city-by-city-name-rig-by-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Rig name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Rig name.", "type": "string" } }, { "description": "Include git status.", "explode": false, "in": "query", "name": "git", "schema": { "description": "Include git status.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RigResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name rig by name" }, "patch": { "operationId": "patch-v0-city-by-city-name-rig-by-name", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Rig name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Rig name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RigUpdateInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Patch v0 city by city name rig by name" } }, "/v0/city/{cityName}/rig/{name}/{action}": { "post": { "operationId": "post-v0-city-by-city-name-rig-by-name-by-action", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Rig name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Rig name.", "type": "string" } }, { "description": "Action to perform (suspend, resume, restart).", "in": "path", "name": "action", "required": true, "schema": { "description": "Action to perform (suspend, resume, restart).", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RigActionBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name rig by name by action" } }, "/v0/city/{cityName}/rigs": { "get": { "operationId": "get-v0-city-by-city-name-rigs", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "explode": false, "in": "query", "name": "index", "schema": { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "type": "string" } }, { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "type": "string" } }, { "description": "Include git status.", "explode": false, "in": "query", "name": "git", "schema": { "description": "Include git status.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyRigResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name rigs" }, "post": { "operationId": "create-rig", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RigCreateInputBody" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RigCreatedOutputBody" } } }, "description": "Created", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Create a rig" } }, "/v0/city/{cityName}/service/{name}": { "get": { "operationId": "get-v0-city-by-city-name-service-by-name", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Service name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Service name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Status" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name service by name" } }, "/v0/city/{cityName}/service/{name}/restart": { "post": { "operationId": "post-v0-city-by-city-name-service-by-name-restart", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Service name.", "in": "path", "name": "name", "required": true, "schema": { "description": "Service name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceRestartOutputBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name service by name restart" } }, "/v0/city/{cityName}/services": { "get": { "operationId": "get-v0-city-by-city-name-services", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodyStatus" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name services" } }, "/v0/city/{cityName}/session/{id}": { "get": { "operationId": "get-v0-city-by-city-name-session-by-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } }, { "description": "Include last output preview.", "explode": false, "in": "query", "name": "peek", "schema": { "description": "Include last output preview.", "type": "boolean" } }, { "description": "Number of lines to include in the last output preview when peek=true. Defaults to 5.", "explode": false, "in": "query", "name": "peek_lines", "schema": { "description": "Number of lines to include in the last output preview when peek=true. Defaults to 5.", "format": "int64", "maximum": 10000, "minimum": 0, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name session by ID" }, "patch": { "operationId": "patch-v0-city-by-city-name-session-by-id", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPatchBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Patch v0 city by city name session by ID" } }, "/v0/city/{cityName}/session/{id}/agents": { "get": { "operationId": "get-v0-city-by-city-name-session-by-id-agents", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionAgentListResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name session by ID agents" } }, "/v0/city/{cityName}/session/{id}/agents/{agentId}": { "get": { "operationId": "get-v0-city-by-city-name-session-by-id-agents-by-agent-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } }, { "description": "Subagent ID within the session.", "in": "path", "name": "agentId", "required": true, "schema": { "description": "Subagent ID within the session.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionAgentGetResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name session by ID agents by agent ID" } }, "/v0/city/{cityName}/session/{id}/close": { "post": { "operationId": "post-v0-city-by-city-name-session-by-id-close", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } }, { "description": "Permanently delete bead after closing.", "explode": false, "in": "query", "name": "delete", "schema": { "description": "Permanently delete bead after closing.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name session by ID close" } }, "/v0/city/{cityName}/session/{id}/kill": { "post": { "operationId": "post-v0-city-by-city-name-session-by-id-kill", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKWithIDResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name session by ID kill" } }, "/v0/city/{cityName}/session/{id}/messages": { "post": { "operationId": "send-session-message", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionMessageInputBody" } } }, "required": true }, "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedBody" } } }, "description": "Accepted", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Send a message to a session" } }, "/v0/city/{cityName}/session/{id}/pending": { "get": { "operationId": "get-v0-city-by-city-name-session-by-id-pending", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPendingResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name session by ID pending" } }, "/v0/city/{cityName}/session/{id}/permission-mode": { "post": { "operationId": "post-v0-city-by-city-name-session-by-id-permission-mode", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPermissionModeBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name session by ID permission mode" } }, "/v0/city/{cityName}/session/{id}/rename": { "post": { "operationId": "post-v0-city-by-city-name-session-by-id-rename", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionRenameInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name session by ID rename" } }, "/v0/city/{cityName}/session/{id}/respond": { "post": { "operationId": "respond-session", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionRespondInputBody" } } }, "required": true }, "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionRespondOutputBody" } } }, "description": "Accepted", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Respond to a pending interaction" } }, "/v0/city/{cityName}/session/{id}/stop": { "post": { "operationId": "post-v0-city-by-city-name-session-by-id-stop", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKWithIDResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name session by ID stop" } }, "/v0/city/{cityName}/session/{id}/stream": { "get": { "description": "Server-Sent Events stream of session transcript updates. Streams turns (conversation format) or raw messages (JSONL format) based on the format query parameter. Emits activity and pending events for tool approval prompts.", "operationId": "stream-session", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } }, { "description": "Transcript format: conversation (default) or raw.", "explode": false, "in": "query", "name": "format", "schema": { "description": "Transcript format: conversation (default) or raw.", "type": "string" } } ], "responses": { "200": { "content": { "text/event-stream": { "schema": { "description": "Each oneOf object represents one possible SSE message.", "items": { "oneOf": [ { "properties": { "data": { "$ref": "#/components/schemas/SessionActivityEvent" }, "event": { "const": "activity", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event activity", "type": "object" }, { "properties": { "data": { "$ref": "#/components/schemas/HeartbeatEvent" }, "event": { "const": "heartbeat", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event heartbeat", "type": "object" }, { "properties": { "data": { "$ref": "#/components/schemas/SessionStreamRawMessageEvent" }, "event": { "const": "message", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data" ], "title": "Event message", "type": "object" }, { "properties": { "data": { "$ref": "#/components/schemas/PendingInteraction" }, "event": { "const": "pending", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event pending", "type": "object" }, { "properties": { "data": { "$ref": "#/components/schemas/SessionStreamMessageEvent" }, "event": { "const": "turn", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID.", "type": "integer" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event turn", "type": "object" } ] }, "title": "Server Sent Events", "type": "array" } } }, "description": "OK", "headers": { "GC-Session-State": { "description": "Session state at the time streaming began (e.g. active, closed).", "schema": { "description": "Session state at the time streaming began (e.g. active, closed).", "type": "string" } }, "GC-Session-Status": { "description": "Runtime status at the time streaming began. Emitted as \"stopped\" when the session's underlying process is not running.", "schema": { "description": "Runtime status at the time streaming began. Emitted as \"stopped\" when the session's underlying process is not running.", "type": "string" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Stream session output in real time" } }, "/v0/city/{cityName}/session/{id}/submit": { "post": { "operationId": "submit-session", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionSubmitInputBody" } } }, "required": true }, "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedBody" } } }, "description": "Accepted", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Submit a message to a session" } }, "/v0/city/{cityName}/session/{id}/suspend": { "post": { "operationId": "post-v0-city-by-city-name-session-by-id-suspend", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name session by ID suspend" } }, "/v0/city/{cityName}/session/{id}/transcript": { "get": { "operationId": "get-v0-city-by-city-name-session-by-id-transcript", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Number of recent compaction segments to return. This API parameter keeps compaction-segment semantics even though gc session logs --tail counts displayed transcript entries. Omit for the endpoint default (usually 1); 0 returns all segments; N\u003e0 returns the last N.", "explode": false, "in": "query", "name": "tail", "schema": { "description": "Number of recent compaction segments to return. This API parameter keeps compaction-segment semantics even though gc session logs --tail counts displayed transcript entries. Omit for the endpoint default (usually 1); 0 returns all segments; N\u003e0 returns the last N.", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } }, { "description": "Transcript format: conversation (default) or raw.", "explode": false, "in": "query", "name": "format", "schema": { "description": "Transcript format: conversation (default) or raw.", "type": "string" } }, { "description": "Pagination cursor: return entries before this UUID.", "explode": false, "in": "query", "name": "before", "schema": { "description": "Pagination cursor: return entries before this UUID.", "type": "string" } }, { "description": "Pagination cursor: return entries after this UUID.", "explode": false, "in": "query", "name": "after", "schema": { "description": "Pagination cursor: return entries after this UUID.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionTranscriptGetResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name session by ID transcript" } }, "/v0/city/{cityName}/session/{id}/wake": { "post": { "operationId": "post-v0-city-by-city-name-session-by-id-wake", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Session ID, alias, or runtime session_name.", "in": "path", "name": "id", "required": true, "schema": { "description": "Session ID, alias, or runtime session_name.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OKWithIDResponseBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name session by ID wake" } }, "/v0/city/{cityName}/sessions": { "get": { "operationId": "get-v0-city-by-city-name-sessions", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Pagination cursor from a previous response's next_cursor field.", "explode": false, "in": "query", "name": "cursor", "schema": { "description": "Pagination cursor from a previous response's next_cursor field.", "type": "string" } }, { "description": "Maximum number of results to return. 0 = server default.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of results to return. 0 = server default.", "format": "int64", "minimum": 0, "type": "integer" } }, { "description": "Filter by session state (e.g. active, closed).", "explode": false, "in": "query", "name": "state", "schema": { "description": "Filter by session state (e.g. active, closed).", "type": "string" } }, { "description": "Filter by session template (agent qualified name).", "explode": false, "in": "query", "name": "template", "schema": { "description": "Filter by session template (agent qualified name).", "type": "string" } }, { "description": "Include last output preview.", "explode": false, "in": "query", "name": "peek", "schema": { "description": "Include last output preview.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBodySessionResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name sessions" }, "post": { "operationId": "create-session", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionCreateBody" } } }, "required": true }, "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedBody" } } }, "description": "Accepted", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Create a session" } }, "/v0/city/{cityName}/sling": { "post": { "operationId": "post-v0-city-by-city-name-sling", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SlingInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SlingResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name sling" } }, "/v0/city/{cityName}/status": { "get": { "operationId": "get-v0-city-by-city-name-status", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "explode": false, "in": "query", "name": "index", "schema": { "description": "Event sequence number; when provided, blocks until a newer event arrives.", "type": "string" } }, { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "explode": false, "in": "query", "name": "wait", "schema": { "description": "How long to block waiting for changes (Go duration string, e.g. 30s). Default 30s, max 2m.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusBody" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name status" } }, "/v0/city/{cityName}/unregister": { "post": { "operationId": "post-v0-city-by-city-name-unregister", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "Supervisor-registered city name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "Supervisor-registered city name.", "type": "string" } } ], "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncAcceptedResponse" } } }, "description": "Accepted", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Post v0 city by city name unregister" } }, "/v0/city/{cityName}/workflow/{workflow_id}": { "delete": { "operationId": "delete-v0-city-by-city-name-workflow-by-workflow-id", "parameters": [ { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "in": "header", "name": "X-GC-Request", "required": true, "schema": { "description": "Anti-CSRF header required on mutation requests. Any non-empty value is accepted; the header's presence is what the server checks.", "minLength": 1, "type": "string" } }, { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Workflow (convoy) ID.", "in": "path", "name": "workflow_id", "required": true, "schema": { "description": "Workflow (convoy) ID.", "type": "string" } }, { "description": "Scope kind (city or rig).", "explode": false, "in": "query", "name": "scope_kind", "schema": { "description": "Scope kind (city or rig).", "type": "string" } }, { "description": "Scope reference.", "explode": false, "in": "query", "name": "scope_ref", "schema": { "description": "Scope reference.", "type": "string" } }, { "description": "Permanently delete beads from store.", "explode": false, "in": "query", "name": "delete", "schema": { "description": "Permanently delete beads from store.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowDeleteResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Delete v0 city by city name workflow by workflow ID" }, "get": { "operationId": "get-v0-city-by-city-name-workflow-by-workflow-id", "parameters": [ { "description": "City name.", "in": "path", "name": "cityName", "required": true, "schema": { "description": "City name.", "minLength": 1, "pattern": "\\S", "type": "string" } }, { "description": "Workflow (convoy) ID.", "in": "path", "name": "workflow_id", "required": true, "schema": { "description": "Workflow (convoy) ID.", "type": "string" } }, { "description": "Scope kind (city or rig).", "explode": false, "in": "query", "name": "scope_kind", "schema": { "description": "Scope kind (city or rig).", "type": "string" } }, { "description": "Scope reference.", "explode": false, "in": "query", "name": "scope_ref", "schema": { "description": "Scope reference.", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowSnapshotResponse" } } }, "description": "OK", "headers": { "X-GC-Cache-Age-S": { "schema": { "description": "Age in seconds of the CachingStore snapshot that served this response (0 if not applicable).", "format": "double", "type": "number" } }, "X-GC-Index": { "schema": { "description": "Latest event sequence number.", "format": "int64", "minimum": 0, "type": "integer" } }, "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 city by city name workflow by workflow ID" } }, "/v0/events": { "get": { "operationId": "get-v0-events", "parameters": [ { "description": "Filter by event type.", "explode": false, "in": "query", "name": "type", "schema": { "description": "Filter by event type.", "type": "string" } }, { "description": "Filter by actor.", "explode": false, "in": "query", "name": "actor", "schema": { "description": "Filter by actor.", "type": "string" } }, { "description": "Filter to events within the last Go duration (e.g. \"5m\").", "explode": false, "in": "query", "name": "since", "schema": { "description": "Filter to events within the last Go duration (e.g. \"5m\").", "type": "string" } }, { "description": "Maximum number of trailing events to return. 0 = no limit. Used by 'gc events --seq' to compute the head cursor cheaply.", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Maximum number of trailing events to return. 0 = no limit. Used by 'gc events --seq' to compute the head cursor cheaply.", "format": "int64", "minimum": 0, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupervisorEventListOutputBody" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 events" } }, "/v0/events/stream": { "get": { "description": "Server-Sent Events stream of supervisor-tagged events. Supports reconnection via Last-Event-ID header or after_cursor query param; omitting both starts at the current supervisor event head.", "operationId": "stream-supervisor-events", "parameters": [ { "description": "Reconnect cursor (composite per-city cursor). Omit Last-Event-ID and after_cursor to start at the current supervisor event head.", "in": "header", "name": "Last-Event-ID", "schema": { "description": "Reconnect cursor (composite per-city cursor). Omit Last-Event-ID and after_cursor to start at the current supervisor event head.", "type": "string" } }, { "description": "Alternative to Last-Event-ID for browsers that can't set custom headers. Omit after_cursor and Last-Event-ID to start at the current supervisor event head.", "explode": false, "in": "query", "name": "after_cursor", "schema": { "description": "Alternative to Last-Event-ID for browsers that can't set custom headers. Omit after_cursor and Last-Event-ID to start at the current supervisor event head.", "type": "string" } } ], "responses": { "200": { "content": { "text/event-stream": { "schema": { "description": "Each oneOf object represents one possible SSE message.", "items": { "oneOf": [ { "properties": { "data": { "$ref": "#/components/schemas/HeartbeatEvent" }, "event": { "const": "heartbeat", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID (composite cursor).", "type": "string" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event heartbeat", "type": "object" }, { "properties": { "data": { "$ref": "#/components/schemas/TypedTaggedEventStreamEnvelope" }, "event": { "const": "tagged_event", "description": "The event name.", "type": "string" }, "id": { "description": "The event ID (composite cursor).", "type": "string" }, "retry": { "description": "The retry time in milliseconds.", "type": "integer" } }, "required": [ "data", "event" ], "title": "Event tagged_event", "type": "object" } ] }, "title": "Server Sent Events", "type": "array" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Stream tagged events from all running cities." } }, "/v0/provider-readiness": { "get": { "operationId": "get-v0-provider-readiness", "parameters": [ { "description": "Comma-separated list of providers to probe.", "explode": false, "in": "query", "name": "providers", "schema": { "description": "Comma-separated list of providers to probe.", "type": "string" } }, { "description": "Force fresh probe, bypassing cache.", "explode": false, "in": "query", "name": "fresh", "schema": { "description": "Force fresh probe, bypassing cache.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderReadinessResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 provider readiness" } }, "/v0/readiness": { "get": { "operationId": "get-v0-readiness", "parameters": [ { "description": "Comma-separated list of readiness items to check.", "explode": false, "in": "query", "name": "items", "schema": { "description": "Comma-separated list of readiness items to check.", "type": "string" } }, { "description": "Force fresh probe, bypassing cache.", "explode": false, "in": "query", "name": "fresh", "schema": { "description": "Force fresh probe, bypassing cache.", "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadinessResponse" } } }, "description": "OK", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error", "headers": { "X-GC-Request-Id": { "$ref": "#/components/headers/X-GC-Request-Id" } } } }, "summary": "Get v0 readiness" } } } }