{ "opencollection": "1.0.0", "info": { "name": "papi alert-query-proxy slxs API", "version": "2.0.0" }, "items": [ { "info": { "name": "slxs", "type": "folder" }, "items": [ { "info": { "name": "List SLXs for a workspace", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "search", "value": "", "type": "query", "description": "Search in name, short_name, or alias" }, { "name": "tags", "value": "", "type": "query", "description": "Filter by tags (any match)" }, { "name": "resource_path_prefix", "value": "", "type": "query", "description": "Filter by resource path prefix (e.g. 'kubernetes/cluster-01')" }, { "name": "resource_type", "value": "", "type": "query", "description": "Filter by resource type (e.g. 'Deployment')" }, { "name": "owners", "value": "", "type": "query", "description": "Filter by owners (any match)" }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of results" }, { "name": "offset", "value": "", "type": "query", "description": "Number of results to skip" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "List SLXs for a workspace with optional filters.\n\nArgs:\n workspace_name: The workspace name.\n request: The incoming request (used to build pagination URLs).\n session: Database session.\n current_user: The authenticated user.\n search: Optional search string.\n tags: Optional tags to filter by.\n resource_path_prefix: Optional resource path prefix filter.\n resource_type: Optional resource type filter.\n owners: Optional owner filter.\n limit: Maximum number of results (def" }, { "info": { "name": "Get an SLX by short name", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "history", "value": "", "type": "query", "description": "PromQL time range for SLI metrics" }, { "name": "resolution", "value": "", "type": "query", "description": "PromQL step interval for SLI metrics" }, { "name": "window", "value": "", "type": "query", "description": "EBR window: 'month' for calendar month or Nd for rolling N days" }, { "name": "detail", "value": "", "type": "query", "description": "Detail level (accepted for Django parity)" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get an SLX by its short name within a workspace.\n\nWhen history/resolution are provided, enriches the response with live\nCortex metrics for SLI charts and SLO error budget charts." }, { "info": { "name": "Get lightweight metrics for SLX chart widgets", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name/metrics", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "types", "value": "", "type": "query", "description": "Cortex query types: sli, slo, or sli,slo" }, { "name": "history", "value": "", "type": "query", "description": "SLI history window (e.g. 5m, 1h)" }, { "name": "resolution", "value": "", "type": "query", "description": "SLI step interval (e.g. 30s, 6m)" }, { "name": "window", "value": "", "type": "query", "description": "SLO calendar window (month, since1-since6)" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Lightweight metrics endpoint for chart widgets.\n\nOnly fires the Cortex queries the requesting chart actually needs.\nSLO resolution is always derived from ``window`` — callers must not send it.\n\nValidation rules (400 Bad Request):\n- types=sli,slo + any of history/resolution/window present\n- types=slo + history present\n- types=sli + window present\n- SLI (history, resolution) not in the 8-pair allowlist\n- SLO window not matching ^(month|since[1-3]|since6)$" }, { "info": { "name": "Get a signed URL for uploading a file", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name/file-upload-url/:session_id/:path", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "session_id", "value": "", "type": "path", "description": "The session ID" }, { "name": "path", "value": "", "type": "path", "description": "The file path/name to upload" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get a signed URL for uploading a file to workspace storage.\n\nThis endpoint is used by the robot-runtime platform library when\nuploading files from task runs.\n\nArgs:\n workspace_name: The workspace name.\n slx_short_name: The SLX short name.\n session_id: The run session ID.\n path: The file path/name to upload.\n session: Database session.\n current_user: The authenticated user.\n\nReturns:\n A signed URL that can be used to PUT the file content.\n\nRaises:\n HTTPException: 404 if wo" }, { "info": { "name": "List files for an SLX session", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name/files/:session_id", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "session_id", "value": "", "type": "path", "description": "The session ID" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "List files for an SLX session in workspace storage.\n\nArgs:\n workspace_name: The workspace name.\n slx_short_name: The SLX short name.\n session_id: The run session ID.\n session: Database session.\n current_user: The authenticated user.\n\nReturns:\n List of filenames." }, { "info": { "name": "Get a file for an SLX session", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name/files/:session_id/:path", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "session_id", "value": "", "type": "path", "description": "The session ID" }, { "name": "path", "value": "", "type": "path", "description": "The file path/name" }, { "name": "sizeLimitBytes", "value": "", "type": "query", "description": "Max file size in bytes" }, { "name": "raw", "value": "", "type": "query", "description": "Return raw text instead of JSON wrapper" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get a file for an SLX session from workspace storage.\n\nArgs:\n workspace_name: The workspace name.\n slx_short_name: The SLX short name.\n session_id: The run session ID.\n path: The file path/name to retrieve.\n size_limit_bytes: Maximum file size to read (default 240MB).\n raw: If True, return plain text response instead of JSON.\n session: Database session.\n current_user: The authenticated user.\n\nReturns:\n File contents as JSON {\"contents\": str} or plain text." }, { "info": { "name": "Get task outputs by task name across recent RunRequests", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name/runbook/runs/task-outputs", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "task_name", "value": "", "type": "query", "description": "Task name to filter by" }, { "name": "created__gte", "value": "", "type": "query", "description": "RunRequests created after this time" }, { "name": "created__lte", "value": "", "type": "query", "description": "RunRequests created before this time" }, { "name": "outputs_limit", "value": "", "type": "query", "description": "Max RunRequests to fetch" }, { "name": "exclude_issue_outputs", "value": "", "type": "query", "description": "Exclude issue-type outputs" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get task outputs for a task name across recent RunRequests.\n\nReturns outputs from the report.jsonl files of matching RunRequests." }, { "info": { "name": "Get task outputs for a specific RunRequest", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name/runbook/runs/:run_request_id/task-outputs", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "run_request_id", "value": "", "type": "path", "description": "RunRequest ID" }, { "name": "task_name", "value": "", "type": "query", "description": "Optional task name filter" }, { "name": "exclude_issue_outputs", "value": "", "type": "query", "description": "Exclude issue-type outputs" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get task outputs for a specific RunRequest.\n\nReturns outputs from the report.jsonl file." }, { "info": { "name": "List SLXs for a workspace", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "search", "value": "", "type": "query", "description": "Search in name, short_name, or alias" }, { "name": "tags", "value": "", "type": "query", "description": "Filter by tags (any match)" }, { "name": "resource_path_prefix", "value": "", "type": "query", "description": "Filter by resource path prefix (e.g. 'kubernetes/cluster-01')" }, { "name": "resource_type", "value": "", "type": "query", "description": "Filter by resource type (e.g. 'Deployment')" }, { "name": "owners", "value": "", "type": "query", "description": "Filter by owners (any match)" }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of results" }, { "name": "offset", "value": "", "type": "query", "description": "Number of results to skip" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "List SLXs for a workspace with optional filters.\n\nArgs:\n workspace_name: The workspace name.\n request: The incoming request (used to build pagination URLs).\n session: Database session.\n current_user: The authenticated user.\n search: Optional search string.\n tags: Optional tags to filter by.\n resource_path_prefix: Optional resource path prefix filter.\n resource_type: Optional resource type filter.\n owners: Optional owner filter.\n limit: Maximum number of results (def" }, { "info": { "name": "Get an SLX by short name", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "history", "value": "", "type": "query", "description": "PromQL time range for SLI metrics" }, { "name": "resolution", "value": "", "type": "query", "description": "PromQL step interval for SLI metrics" }, { "name": "window", "value": "", "type": "query", "description": "EBR window: 'month' for calendar month or Nd for rolling N days" }, { "name": "detail", "value": "", "type": "query", "description": "Detail level (accepted for Django parity)" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get an SLX by its short name within a workspace.\n\nWhen history/resolution are provided, enriches the response with live\nCortex metrics for SLI charts and SLO error budget charts." }, { "info": { "name": "Get lightweight metrics for SLX chart widgets", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name/metrics", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "types", "value": "", "type": "query", "description": "Cortex query types: sli, slo, or sli,slo" }, { "name": "history", "value": "", "type": "query", "description": "SLI history window (e.g. 5m, 1h)" }, { "name": "resolution", "value": "", "type": "query", "description": "SLI step interval (e.g. 30s, 6m)" }, { "name": "window", "value": "", "type": "query", "description": "SLO calendar window (month, since1-since6)" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Lightweight metrics endpoint for chart widgets.\n\nOnly fires the Cortex queries the requesting chart actually needs.\nSLO resolution is always derived from ``window`` — callers must not send it.\n\nValidation rules (400 Bad Request):\n- types=sli,slo + any of history/resolution/window present\n- types=slo + history present\n- types=sli + window present\n- SLI (history, resolution) not in the 8-pair allowlist\n- SLO window not matching ^(month|since[1-3]|since6)$" }, { "info": { "name": "Get a signed URL for uploading a file", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name/file-upload-url/:session_id/:path", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "session_id", "value": "", "type": "path", "description": "The session ID" }, { "name": "path", "value": "", "type": "path", "description": "The file path/name to upload" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get a signed URL for uploading a file to workspace storage.\n\nThis endpoint is used by the robot-runtime platform library when\nuploading files from task runs.\n\nArgs:\n workspace_name: The workspace name.\n slx_short_name: The SLX short name.\n session_id: The run session ID.\n path: The file path/name to upload.\n session: Database session.\n current_user: The authenticated user.\n\nReturns:\n A signed URL that can be used to PUT the file content.\n\nRaises:\n HTTPException: 404 if wo" }, { "info": { "name": "List files for an SLX session", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name/files/:session_id", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "session_id", "value": "", "type": "path", "description": "The session ID" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "List files for an SLX session in workspace storage.\n\nArgs:\n workspace_name: The workspace name.\n slx_short_name: The SLX short name.\n session_id: The run session ID.\n session: Database session.\n current_user: The authenticated user.\n\nReturns:\n List of filenames." }, { "info": { "name": "Get a file for an SLX session", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name/files/:session_id/:path", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "session_id", "value": "", "type": "path", "description": "The session ID" }, { "name": "path", "value": "", "type": "path", "description": "The file path/name" }, { "name": "sizeLimitBytes", "value": "", "type": "query", "description": "Max file size in bytes" }, { "name": "raw", "value": "", "type": "query", "description": "Return raw text instead of JSON wrapper" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get a file for an SLX session from workspace storage.\n\nArgs:\n workspace_name: The workspace name.\n slx_short_name: The SLX short name.\n session_id: The run session ID.\n path: The file path/name to retrieve.\n size_limit_bytes: Maximum file size to read (default 240MB).\n raw: If True, return plain text response instead of JSON.\n session: Database session.\n current_user: The authenticated user.\n\nReturns:\n File contents as JSON {\"contents\": str} or plain text." }, { "info": { "name": "Get task outputs by task name across recent RunRequests", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name/runbook/runs/task-outputs", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "task_name", "value": "", "type": "query", "description": "Task name to filter by" }, { "name": "created__gte", "value": "", "type": "query", "description": "RunRequests created after this time" }, { "name": "created__lte", "value": "", "type": "query", "description": "RunRequests created before this time" }, { "name": "outputs_limit", "value": "", "type": "query", "description": "Max RunRequests to fetch" }, { "name": "exclude_issue_outputs", "value": "", "type": "query", "description": "Exclude issue-type outputs" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get task outputs for a task name across recent RunRequests.\n\nReturns outputs from the report.jsonl files of matching RunRequests." }, { "info": { "name": "Get task outputs for a specific RunRequest", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name/runbook/runs/:run_request_id/task-outputs", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "run_request_id", "value": "", "type": "path", "description": "RunRequest ID" }, { "name": "task_name", "value": "", "type": "query", "description": "Optional task name filter" }, { "name": "exclude_issue_outputs", "value": "", "type": "query", "description": "Exclude issue-type outputs" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get task outputs for a specific RunRequest.\n\nReturns outputs from the report.jsonl file." } ] } ], "bundled": true }