{ "opencollection": "1.0.0", "info": { "name": "papi alert-query-proxy slis API", "version": "2.0.0" }, "items": [ { "info": { "name": "slis", "type": "folder" }, "items": [ { "info": { "name": "Get the SLI for an SLX", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name/sli", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "detail", "value": "", "type": "query", "description": "Accepted for Django parity; ignored (always returns full detail)" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get the SLI for an SLX.\n\nSLX and SLI have a 1:1 relationship. This endpoint returns the single\nSLI associated with the specified SLX, or 404 if no SLI exists.\n\nArgs:\n workspace_name: The workspace name.\n slx_short_name: The SLX short name.\n _detail: Django parity query param (ignored).\n session: Database session.\n current_user: The authenticated user.\n\nReturns:\n The SLI details.\n\nRaises:\n HTTPException: 404 if workspace, SLX, or SLI not found." }, { "info": { "name": "Push alert rules for all SLIs with alertConfig", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/push-alert-rules", "params": [ { "name": "workspace_name", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Push Prometheus alert rules to the metric store for every SLI in the workspace that has an alertConfig.\n\nBypasses the SHA-based sync deduplication — safe to call even when workspace YAML has not changed.\nUseful for bootstrapping alert rules after a new cluster is stood up or after\nMETRIC_STORE_RULER_URL is first configured.\n\nReturns a summary with counts and any per-SLX errors." }, { "info": { "name": "List runners for an SLI", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/workspaces/:workspace_name/slxs/:slx_short_name/sli/runners", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get runners and health status for an SLI.\n\nHealth is derived from the freshness of the runner's ``last_heartbeat`` column,\nwhich is updated on every ``POST /runners/status`` from the runner agent. A\nrunner is considered Healthy if its heartbeat is within\n``settings.runner_heartbeat_staleness_seconds`` (default 90s).\n\nNote: the legacy Django implementation (``HasCodeRunLocationsMixin.list_locations``)\nderived health from ``status.runnerLocations[*].status.code`` on the SLI CRD —\na string set by t" }, { "info": { "name": "Get the SLI for an SLX", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name/sli", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" }, { "name": "detail", "value": "", "type": "query", "description": "Accepted for Django parity; ignored (always returns full detail)" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get the SLI for an SLX.\n\nSLX and SLI have a 1:1 relationship. This endpoint returns the single\nSLI associated with the specified SLX, or 404 if no SLI exists.\n\nArgs:\n workspace_name: The workspace name.\n slx_short_name: The SLX short name.\n _detail: Django parity query param (ignored).\n session: Database session.\n current_user: The authenticated user.\n\nReturns:\n The SLI details.\n\nRaises:\n HTTPException: 404 if workspace, SLX, or SLI not found." }, { "info": { "name": "Push alert rules for all SLIs with alertConfig", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/push-alert-rules", "params": [ { "name": "workspace_name", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Push Prometheus alert rules to the metric store for every SLI in the workspace that has an alertConfig.\n\nBypasses the SHA-based sync deduplication — safe to call even when workspace YAML has not changed.\nUseful for bootstrapping alert rules after a new cluster is stood up or after\nMETRIC_STORE_RULER_URL is first configured.\n\nReturns a summary with counts and any per-SLX errors." }, { "info": { "name": "List runners for an SLI", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/workspaces/:workspace_name/slxs/:slx_short_name/sli/runners", "params": [ { "name": "workspace_name", "value": "", "type": "path" }, { "name": "slx_short_name", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get runners and health status for an SLI.\n\nHealth is derived from the freshness of the runner's ``last_heartbeat`` column,\nwhich is updated on every ``POST /runners/status`` from the runner agent. A\nrunner is considered Healthy if its heartbeat is within\n``settings.runner_heartbeat_staleness_seconds`` (default 90s).\n\nNote: the legacy Django implementation (``HasCodeRunLocationsMixin.list_locations``)\nderived health from ``status.runnerLocations[*].status.code`` on the SLI CRD —\na string set by t" } ] } ], "bundled": true }