# Get worker, provisioning, and build errors for a run **GET /runs/{run_id}/infrastructure-errors** Errors are extracted from TestProgress rows written by the CI worker. Messages are currently unstructured text. The type filter does best-effort text matching until the worker protocol emits structured error types. Stack traces are opt-in (include_stack defaults to false) to avoid leaking internal paths to unauthorized callers. ## Servers - Production: https://sampleplatform.ccextractor.org/api/v1 (Production) ## Authentication methods - Bearer auth ## Parameters ### Path parameters - **run_id** (integer) Numeric run ID ### Query parameters - **limit** (integer) Maximum number of results to return (1–100) - **offset** (integer) Number of results to skip for pagination - **type** (string) - **severity** (string) - **include_stack** (boolean) Default false. Set true only when debugging infrastructure failures. Stacks may contain internal paths; access requires system:read scope. ## Responses ### 200 Paginated infrastructure errors #### Body: application/json (object) - **data** (array) - **pagination** (object) ### 401 Missing, expired, or invalid bearer token #### Body: application/json (object) - **code** (string) Machine-readable error code (snake_case) - **message** (string) Human-readable error summary - **details** (object) Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available. ### 403 Token is valid but lacks the required scope or role #### Body: application/json (object) - **code** (string) Machine-readable error code (snake_case) - **message** (string) Human-readable error summary - **details** (object) Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available. ### 404 Resource not found #### Body: application/json (object) - **code** (string) Machine-readable error code (snake_case) - **message** (string) Human-readable error summary - **details** (object) Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available. ### 429 Too many requests. Retry after the indicated number of seconds. #### Headers - **Retry-After** (integer) Seconds to wait before retrying - **X-RateLimit-Limit** () Maximum requests allowed in the current window - **X-RateLimit-Remaining** () Requests remaining in the current window - **X-RateLimit-Reset** () Unix timestamp when the rate limit window resets #### Body: application/json (object) - **code** (string) Machine-readable error code (snake_case) - **message** (string) Human-readable error summary - **details** (object) Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available. ### default Unexpected server error #### Body: application/json (object) - **code** (string) Machine-readable error code (snake_case) - **message** (string) Human-readable error summary - **details** (object) Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available. [Powered by Bump.sh](https://bump.sh)