{
  "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
}