{ "components": { "parameters": {}, "schemas": { "ErrorResponse": { "properties": { "error": { "type": "string" } }, "required": ["error"], "type": "object" } }, "securitySchemes": { "ApiKeyAuth": { "in": "header", "name": "x-api-key", "type": "apiKey" } } }, "info": { "description": "Runtime API for workflow/chat/deployment/session execution.", "title": "ABL Runtime API - public/sessions", "version": "1.0.0", "x-generated": "do not edit; source: route contracts" }, "jsonSchemaDialect": "https://spec.openapis.org/oas/3.1/dialect/base", "openapi": "3.1.0", "paths": { "/api/v1/chat/usage": { "get": { "description": "Usage metrics for a project with optional date range and grouping.", "operationId": "runtime.legacyChat.getUsage", "parameters": [ { "description": "Project id", "in": "query", "name": "projectId", "required": true, "schema": { "description": "Project id", "type": "string" } }, { "description": "ISO 8601 start date", "in": "query", "name": "startDate", "required": false, "schema": { "description": "ISO 8601 start date", "type": "string" } }, { "description": "ISO 8601 end date", "in": "query", "name": "endDate", "required": false, "schema": { "description": "ISO 8601 end date", "type": "string" } }, { "description": "Group usage by model", "in": "query", "name": "groupBy", "required": false, "schema": { "description": "Group usage by model", "enum": ["model"], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "byModel": { "items": { "properties": { "modelId": { "type": "string" }, "provider": { "type": "string" }, "requestCount": { "type": "number" }, "totalCost": { "type": "number" }, "totalTokens": { "type": "number" } }, "required": [ "modelId", "provider", "totalTokens", "totalCost", "requestCount" ], "type": "object" }, "type": "array" }, "summary": { "properties": { "avgLatency": { "type": "number" }, "requestCount": { "type": "number" }, "totalCost": { "type": "number" }, "totalTokens": { "type": "number" } }, "required": ["totalTokens", "totalCost", "requestCount", "avgLatency"], "type": "object" } }, "required": ["byModel"], "type": "object" } } }, "description": "Success" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Unauthorized" }, "500": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Internal server error" } }, "security": [ { "ApiKeyAuth": [] } ], "summary": "Get usage metrics (legacy)", "tags": ["Chat"] } } } }