> ## Documentation Index > Fetch the complete documentation index at: https://kb.vastdata.com/llms.txt > Use this file to discover all available pages before exploring further. # Get a single report > Get full details of a specific report by ID ## OpenAPI ````json GET /reports/{report_id} { "openapi": "3.0.3", "info": { "title": "VAST DataEngine API", "description": "Combined OpenAPI specification for Document360: Provisioning, Telemetries Query, Telemetries Collector, and shared common components.", "version": "1.4.0" }, "servers": [ { "url": "http://localhost:3000", "description": "Provisioning Service (Local development server)" }, { "url": "http://localhost:8080/query_telemetries", "description": "Telemetries Query Service (Local development server)" }, { "url": "http://localhost:8080/telemetries", "description": "Telemetries Collector Service (Local development server)" } ], "tags": [ { "name": "Provisioning Service v1.4.0", "description": "Provisioning Service API" }, { "name": "Provisioning Service v1.4.0 > dataEngine", "description": "Data Engine lifecycle" }, { "name": "Provisioning Service v1.4.0 > setup_provisioning", "description": "Deprecated provisioning setup" }, { "name": "Provisioning Service v1.4.0 > pipelines", "description": "Pipelines" }, { "name": "Provisioning Service v1.4.0 > pipelineRevisions", "description": "Pipeline revisions" }, { "name": "Provisioning Service v1.4.0 > functions", "description": "Functions" }, { "name": "Provisioning Service v1.4.0 > functionRevisions", "description": "Function revisions" }, { "name": "Provisioning Service v1.4.0 > functionRevisionsDeprecated", "description": "Deprecated function revision endpoints" }, { "name": "Provisioning Service v1.4.0 > triggers", "description": "Triggers" }, { "name": "Provisioning Service v1.4.0 > topics", "description": "Topics" }, { "name": "Provisioning Service v1.4.0 > containerRegistries", "description": "Container registries" }, { "name": "Provisioning Service v1.4.0 > kubernetesClusters", "description": "Kubernetes clusters" }, { "name": "Provisioning Service v1.4.0 > kubernetesSecrets", "description": "Kubernetes secrets" }, { "name": "Provisioning Service v1.4.0 > mtlsAuthenticationCredentials", "description": "mTLS authentication credentials" }, { "name": "Provisioning Service v1.4.0 > dashboard", "description": "Dashboard" }, { "name": "Provisioning Service v1.4.0 > reports", "description": "Saved reports" }, { "name": "Telemetries Collector Service v1.4.0", "description": "API for collecting OTEL signals (traces, logs and metrics)" }, { "name": "Telemetries Collector Service v1.4.0 > collect_telemetries", "description": "Collect OTEL signals" }, { "name": "Telemetries Query Service v1.4.0", "description": "API for querying traces, logs and metrics" }, { "name": "Telemetries Query Service v1.4.0 > query_telemetries", "description": "Query traces and logs" }, { "name": "Telemetries Query Service v1.4.0 > metrics", "description": "Query metrics" }, { "name": "Telemetries Query Service v1.4.0 > reports", "description": "Saved reports" } ], "paths": { "/reports/{report_id}": { "parameters": [ { "$ref": "#/components/parameters/ReportId" } ], "get": { "tags": [ "Provisioning Service v1.4.0 > reports" ], "summary": "Get a single report", "description": "Get full details of a specific report by ID", "operationId": "get_report", "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Report" } } } }, "404": { "$ref": "#/components/responses/NotFoundError" }, "500": { "$ref": "#/components/responses/InternalServerError" } } } } }, "components": { "parameters": { "ReportId": { "name": "report_id", "in": "path", "required": "true", "description": "Unique identifier of the report", "schema": { "type": "string" } } }, "schemas": { "Report": { "allOf": [ { "$ref": "#/components/schemas/ReportCreate" }, { "type": "object", "properties": { "report_id": { "$ref": "#/components/schemas/ReadOnlyReportId" }, "owner_vid": { "$ref": "#/components/schemas/ReadOnlyUserId" }, "created_at": { "type": "string", "format": "date-time", "readOnly": "true", "description": "When the report was created" }, "updated_at": { "type": "string", "format": "date-time", "readOnly": "true", "description": "When the report was last modified" }, "last_executed_at": { "type": "string", "format": "date-time", "readOnly": "true", "description": "When the report was last executed" }, "execution_count": { "type": "integer", "readOnly": "true", "description": "Number of times the report has been executed" } } } ] }, "ReportCreate": { "allOf": [ { "$ref": "#/components/schemas/ReportUpdate" } ], "required": [ "report_name", "metric_names" ] }, "ReadOnlyReportId": { "type": "string", "format": "uuid", "readOnly": "true", "description": "Unique identifier for a report (server-generated UUID)" }, "ReadOnlyUserId": { "type": "integer", "format": "int64", "readOnly": "true", "description": "User ID (VID) of the report owner (server-generated)" }, "ErrorResponse": { "type": "object", "properties": { "detail": { "type": "string" }, "source": { "$ref": "#/components/schemas/ErrorSource" }, "code": { "type": "string", "description": "Optional machine-readable error code for clients to branch on instead of parsing `detail`." } } }, "ReportUpdate": { "type": "object", "additionalProperties": "false", "properties": { "report_name": { "type": "string", "description": "Name of the report", "minLength": "1", "maxLength": "100" }, "description": { "type": "string", "description": "Optional description of the report", "maxLength": "500" }, "metric_names": { "type": "array", "items": { "type": "string" }, "minItems": "1", "maxItems": "10", "description": "List of metric names to query (1-10 metrics, e.g. [\"http_requests\", \"memory_usage\", \"dataengine.function.invocations\"]). Each name allows alphanumeric characters, dots, colons, underscores, hyphens, and slashes." }, "aggregation": { "allOf": [ { "$ref": "#/components/schemas/Aggregation" } ], "description": "Aggregation method (defaults to 'avg')" }, "timeframe": { "type": "string", "description": "Time window like '30s', '5m', '1h', '7d'. Defaults to '1h' if not specified." }, "max_points": { "type": "integer", "minimum": "1", "maximum": "100", "description": "Maximum data points to return (defaults to 60)" }, "pipeline": { "type": "string", "description": "Pipeline name filter (optional)" }, "function": { "type": "string", "description": "Function name filter (optional)" }, "function_deployment": { "type": "string", "description": "Function deployment name filter (optional)" }, "metric_type": { "$ref": "#/components/schemas/MetricType", "description": "Filter by metric type (optional)" }, "group_by": { "$ref": "#/components/schemas/GroupBy", "description": "Group metrics by dimension (function_name or pipeline_name) (optional)" }, "top_k": { "type": "integer", "minimum": "1", "maximum": "100", "description": "Return only the top K groups with highest values (requires group_by, mutually exclusive with bottom_k) (optional)" }, "bottom_k": { "type": "integer", "minimum": "1", "maximum": "100", "description": "Return only the bottom K groups with lowest values (requires group_by, mutually exclusive with top_k) (optional)" }, "display_config": { "type": "object", "additionalProperties": "true", "description": "Optional display configuration for GUI visualization (no server-side validation, GUI can store any JSON structure)" }, "is_used_in_dashboard": { "type": "boolean", "default": "false", "description": "Flag indicating if this report is used in a dashboard" } } }, "ErrorSource": { "type": "object", "description": "Represents the underlying problem that made Data Engine raise the error", "properties": { "source_type": { "type": "string", "description": "The component where the error happened", "example": "kubernetes | vms | vdb | registry" }, "source_name": { "type": "string", "description": "The name of the source compoenent", "example": "my-cluster" }, "inner_error": { "type": "string", "description": "The error message from the source component", "example": "Failed to connect to the cluster" } } }, "Aggregation": { "type": "string", "enum": [ "sum", "avg", "min", "max", "p50", "p95", "p99" ], "description": "Aggregation method for metrics. Percentile aggregations (p50, p95, p99) are only valid for Histogram metrics." }, "MetricType": { "type": "string", "enum": [ "Counter", "Histogram", "Gauge", "UpDownCounter" ], "description": "Type of metric (Counter, Histogram, Gauge, UpDownCounter)" }, "GroupBy": { "type": "string", "enum": [ "function_name", "pipeline_name", "function_deployment_name" ], "description": "Dimension to group metrics by (function_name, pipeline_name, or function_deployment_name)" } }, "responses": { "NotFoundError": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "InternalServerError": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } } ````