# List CI runs **GET /runs** Public read. The underlying table is capped at the 50 most recent runs in the current implementation; this endpoint adds full pagination. Sorted by -created_at by default (newest first). ## Servers - Production: https://sampleplatform.ccextractor.org/api/v1 (Production) ## Authentication methods - Bearer auth ## Parameters ### Query parameters - **limit** (integer) Maximum number of results to return (1–100) - **offset** (integer) Number of results to skip for pagination - **status** (string) Normalized run status. Derived from TestProgress rows and TestResult outcomes. The underlying TestStatus model stores only preparation, testing, completed, and canceled (where canceled covers both canceled and error). This enum is the normalized API contract. - **branch** (string) - **commit_sha** (string) Full 40-character SHA-1 commit hash - **repository** (string) GitHub repository in owner/repo format - **platform** (string) - **created_after** (string(date-time)) ISO 8601 datetime. Returns runs created after this time. - **created_before** (string(date-time)) ISO 8601 datetime. Returns runs created before this time. - **sort** (string) Sort field. Prefix with - for descending order. ## Responses ### 200 Paginated runs #### Headers - **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) - **data** (array) - **pagination** (object) ### 400 Request body or query parameters failed schema validation #### 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. ### 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. ### 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)