Backend AgentInfo record uses 'id' but UI schema had 'agentId', causing undefined property access crash in command palette. Regenerated openapi.json and aligned all UI types with live spec. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1138 lines
27 KiB
JSON
1138 lines
27 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "OpenAPI definition",
|
|
"version": "v0"
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "http://192.168.50.86:30081",
|
|
"description": "Generated server url"
|
|
}
|
|
],
|
|
"tags": [
|
|
{
|
|
"name": "Agent SSE",
|
|
"description": "Server-Sent Events endpoint for agent communication"
|
|
},
|
|
{
|
|
"name": "Agent Commands",
|
|
"description": "Command push endpoints for agent communication"
|
|
},
|
|
{
|
|
"name": "Agent Management",
|
|
"description": "Agent registration and lifecycle endpoints"
|
|
},
|
|
{
|
|
"name": "Ingestion",
|
|
"description": "Data ingestion endpoints"
|
|
},
|
|
{
|
|
"name": "Diagrams",
|
|
"description": "Diagram rendering endpoints"
|
|
},
|
|
{
|
|
"name": "Detail",
|
|
"description": "Execution detail and processor snapshot endpoints"
|
|
},
|
|
{
|
|
"name": "Search",
|
|
"description": "Transaction search endpoints"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/api/v1/search/executions": {
|
|
"get": {
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"summary": "Search executions with basic filters",
|
|
"operationId": "searchGet",
|
|
"parameters": [
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "timeFrom",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
{
|
|
"name": "timeTo",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
{
|
|
"name": "correlationId",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "text",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "routeId",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "agentId",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "processorType",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 50
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchResultExecutionSummary"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"summary": "Advanced search with all filters",
|
|
"operationId": "searchPost",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchResultExecutionSummary"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/data/metrics": {
|
|
"post": {
|
|
"tags": [
|
|
"Ingestion"
|
|
],
|
|
"summary": "Ingest agent metrics",
|
|
"description": "Accepts an array of MetricsSnapshot objects",
|
|
"operationId": "ingestMetrics",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"202": {
|
|
"description": "Data accepted for processing"
|
|
},
|
|
"503": {
|
|
"description": "Buffer full, retry later"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/data/executions": {
|
|
"post": {
|
|
"tags": [
|
|
"Ingestion"
|
|
],
|
|
"summary": "Ingest route execution data",
|
|
"description": "Accepts a single RouteExecution or an array of RouteExecutions",
|
|
"operationId": "ingestExecutions",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"202": {
|
|
"description": "Data accepted for processing"
|
|
},
|
|
"503": {
|
|
"description": "Buffer full, retry later"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/data/diagrams": {
|
|
"post": {
|
|
"tags": [
|
|
"Ingestion"
|
|
],
|
|
"summary": "Ingest route diagram data",
|
|
"description": "Accepts a single RouteGraph or an array of RouteGraphs",
|
|
"operationId": "ingestDiagrams",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"202": {
|
|
"description": "Data accepted for processing"
|
|
},
|
|
"503": {
|
|
"description": "Buffer full, retry later"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/auth/refresh": {
|
|
"post": {
|
|
"tags": [
|
|
"ui-auth-controller"
|
|
],
|
|
"operationId": "refresh",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RefreshRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/auth/login": {
|
|
"post": {
|
|
"tags": [
|
|
"ui-auth-controller"
|
|
],
|
|
"operationId": "login",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents/{id}/refresh": {
|
|
"post": {
|
|
"tags": [
|
|
"Agent Management"
|
|
],
|
|
"summary": "Refresh access token",
|
|
"description": "Issues a new access JWT from a valid refresh token",
|
|
"operationId": "refresh_1",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "New access token issued",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Invalid or expired refresh token",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Agent not found",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents/{id}/heartbeat": {
|
|
"post": {
|
|
"tags": [
|
|
"Agent Management"
|
|
],
|
|
"summary": "Agent heartbeat ping",
|
|
"description": "Updates the agent's last heartbeat timestamp",
|
|
"operationId": "heartbeat",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Heartbeat accepted"
|
|
},
|
|
"404": {
|
|
"description": "Agent not registered"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents/{id}/commands": {
|
|
"post": {
|
|
"tags": [
|
|
"Agent Commands"
|
|
],
|
|
"summary": "Send command to a specific agent",
|
|
"description": "Sends a config-update, deep-trace, or replay command to the specified agent",
|
|
"operationId": "sendCommand",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"202": {
|
|
"description": "Command accepted",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid command payload",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Agent not registered",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents/{id}/commands/{commandId}/ack": {
|
|
"post": {
|
|
"tags": [
|
|
"Agent Commands"
|
|
],
|
|
"summary": "Acknowledge command receipt",
|
|
"description": "Agent acknowledges that it has received and processed a command",
|
|
"operationId": "acknowledgeCommand",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "commandId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Command acknowledged"
|
|
},
|
|
"404": {
|
|
"description": "Command not found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents/register": {
|
|
"post": {
|
|
"tags": [
|
|
"Agent Management"
|
|
],
|
|
"summary": "Register an agent",
|
|
"description": "Registers a new agent or re-registers an existing one. Requires bootstrap token in Authorization header.",
|
|
"operationId": "register",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Agent registered successfully",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid registration payload",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Missing or invalid bootstrap token",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents/groups/{group}/commands": {
|
|
"post": {
|
|
"tags": [
|
|
"Agent Commands"
|
|
],
|
|
"summary": "Send command to all agents in a group",
|
|
"description": "Sends a command to all LIVE agents in the specified group",
|
|
"operationId": "sendGroupCommand",
|
|
"parameters": [
|
|
{
|
|
"name": "group",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"202": {
|
|
"description": "Commands accepted",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid command payload",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents/commands": {
|
|
"post": {
|
|
"tags": [
|
|
"Agent Commands"
|
|
],
|
|
"summary": "Broadcast command to all live agents",
|
|
"description": "Sends a command to all agents currently in LIVE state",
|
|
"operationId": "broadcastCommand",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"202": {
|
|
"description": "Commands accepted",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid command payload",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/search/stats": {
|
|
"get": {
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"summary": "Aggregate execution stats (P99 latency, active count)",
|
|
"operationId": "stats",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExecutionStats"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/executions/{executionId}": {
|
|
"get": {
|
|
"tags": [
|
|
"Detail"
|
|
],
|
|
"summary": "Get execution detail with nested processor tree",
|
|
"operationId": "getDetail",
|
|
"parameters": [
|
|
{
|
|
"name": "executionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExecutionDetail"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/executions/{executionId}/processors/{index}/snapshot": {
|
|
"get": {
|
|
"tags": [
|
|
"Detail"
|
|
],
|
|
"summary": "Get exchange snapshot for a specific processor",
|
|
"operationId": "getProcessorSnapshot",
|
|
"parameters": [
|
|
{
|
|
"name": "executionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "index",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/diagrams/{contentHash}/render": {
|
|
"get": {
|
|
"tags": [
|
|
"Diagrams"
|
|
],
|
|
"summary": "Render a route diagram",
|
|
"description": "Returns SVG (default) or JSON layout based on Accept header",
|
|
"operationId": "renderDiagram",
|
|
"parameters": [
|
|
{
|
|
"name": "contentHash",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Diagram rendered successfully",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Diagram not found",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents": {
|
|
"get": {
|
|
"tags": [
|
|
"Agent Management"
|
|
],
|
|
"summary": "List all agents",
|
|
"description": "Returns all registered agents, optionally filtered by status",
|
|
"operationId": "listAgents",
|
|
"parameters": [
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Agent list returned",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid status filter",
|
|
"content": {
|
|
"*/*": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/agents/{id}/events": {
|
|
"get": {
|
|
"tags": [
|
|
"Agent SSE"
|
|
],
|
|
"summary": "Open SSE event stream",
|
|
"description": "Opens a Server-Sent Events stream for the specified agent. Commands (config-update, deep-trace, replay) are pushed as events. Ping keepalive comments sent every 15 seconds.",
|
|
"operationId": "events",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "Last-Event-ID",
|
|
"in": "header",
|
|
"description": "Last received event ID (no replay, acknowledged only)",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "SSE stream opened",
|
|
"content": {
|
|
"text/event-stream": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SseEmitter"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Agent not registered",
|
|
"content": {
|
|
"text/event-stream": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SseEmitter"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"SearchRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"timeFrom": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"timeTo": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"durationMin": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"durationMax": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"correlationId": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"textInBody": {
|
|
"type": "string"
|
|
},
|
|
"textInHeaders": {
|
|
"type": "string"
|
|
},
|
|
"textInErrors": {
|
|
"type": "string"
|
|
},
|
|
"routeId": {
|
|
"type": "string"
|
|
},
|
|
"agentId": {
|
|
"type": "string"
|
|
},
|
|
"processorType": {
|
|
"type": "string"
|
|
},
|
|
"offset": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
},
|
|
"ExecutionSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"executionId": {
|
|
"type": "string"
|
|
},
|
|
"routeId": {
|
|
"type": "string"
|
|
},
|
|
"agentId": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"startTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"endTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"durationMs": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"correlationId": {
|
|
"type": "string"
|
|
},
|
|
"errorMessage": {
|
|
"type": "string"
|
|
},
|
|
"diagramContentHash": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"SearchResultExecutionSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ExecutionSummary"
|
|
}
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"offset": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
},
|
|
"RefreshRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"refreshToken": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"LoginRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"ExecutionStats": {
|
|
"type": "object",
|
|
"properties": {
|
|
"p99LatencyMs": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"activeCount": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
"ExecutionDetail": {
|
|
"type": "object",
|
|
"properties": {
|
|
"executionId": {
|
|
"type": "string"
|
|
},
|
|
"routeId": {
|
|
"type": "string"
|
|
},
|
|
"agentId": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"startTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"endTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"durationMs": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"correlationId": {
|
|
"type": "string"
|
|
},
|
|
"exchangeId": {
|
|
"type": "string"
|
|
},
|
|
"errorMessage": {
|
|
"type": "string"
|
|
},
|
|
"errorStackTrace": {
|
|
"type": "string"
|
|
},
|
|
"diagramContentHash": {
|
|
"type": "string"
|
|
},
|
|
"processors": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ProcessorNode"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ProcessorNode": {
|
|
"type": "object",
|
|
"properties": {
|
|
"processorId": {
|
|
"type": "string"
|
|
},
|
|
"processorType": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"startTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"endTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"durationMs": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"diagramNodeId": {
|
|
"type": "string"
|
|
},
|
|
"errorMessage": {
|
|
"type": "string"
|
|
},
|
|
"errorStackTrace": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"SseEmitter": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timeout": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |