Checks
The individual checks a scorecard scores.
Base path /api/v1/checks on https://ionwarp.com. Authenticate with Authorization: Bearer $DASH_API_KEY and name the project with the Project-ID header. Writes are validated in declared mode; an operation this resource does not declare answers 405 operation_not_supported.
List checks
GET /api/v1/checks
curl "https://ionwarp.com/api/v1/checks?scorecard_id=ai-readiness" \
-H "Authorization: Bearer $DASH_API_KEY" \
-H "Project-ID: pr_acme"Which checks are failing on the AI readiness scorecard?data_query {
"collection": "scorecard_checks",
"where": {
"scorecard_id": "ai-readiness"
}
}Returns a paginated list of check objects, newest first.
{
"object": "list",
"data": [
{
"object": "check",
"id": "obj_123",
"level": "ci-cd",
"milestone": "automation",
"title": "CI runs on every pull request",
"description": "A CI workflow runs the test suite on every pull request.",
"status": "failed",
"severity": "high",
"created_at": "2026-07-25T12:00:00.000Z",
"updated_at": "2026-07-25T12:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}Parameters
| Parameter | Type | Kind | Description |
|---|---|---|---|
scorecard_id | string | filter | Slug of the scorecard this check belongs to (e.g. ai-readiness). |
level | string | filter | Id of the scorecard_levels rung this check is scored under. |
status | string | filter | Whether the check passed the last time the scorecard was scanned. pending = seeded or reset, not yet evaluated; unknown = the scan could not decide. One of pending, passed, failed, running, unknown. |
severity | string | filter | How much a failure of this check matters. One of critical, high, medium, low, info. |
verification_state | string | filter | How well the scan could prove this check: verified = proven from repo/project data; needs_action = unproven but a follow-up action exists; not_verified = unproven with no safe automated action; running = still scanning. One of verified, needs_action, not_verified, running. |
action_status | string | filter | Whether a one-click follow-up exists for this check. available implies a working action_skill_id. One of available, not_needed, not_available, running. |
q | string | search | Free-text search across title, description. |
sort | string | sort | One of display_order, impact_points, score; prefix with - to reverse. |
limit | number | page | Rows to return, 1–100. Defaults to 20. |
cursor | string | page | next_cursor from the previous page. |
Retrieve a check
GET /api/v1/checks/learning-tests-run-under-bun
curl "https://ionwarp.com/api/v1/checks/learning-tests-run-under-bun" \
-H "Authorization: Bearer $DASH_API_KEY" \
-H "Project-ID: pr_acme"Show me the evidence behind check {id}data_get {
"collection": "scorecard_checks",
"object_id": "learning-tests-run-under-bun"
}Returns the check object.
{
"object": "check",
"id": "obj_123",
"level": "ci-cd",
"milestone": "automation",
"title": "CI runs on every pull request",
"description": "A CI workflow runs the test suite on every pull request.",
"status": "failed",
"severity": "high",
"created_at": "2026-07-25T12:00:00.000Z",
"updated_at": "2026-07-25T12:00:00.000Z"
}Parameters
| Parameter | Type | Kind | Description |
|---|---|---|---|
id | string | path | The check's id or slug. |
What comes back (read-only)
Every check carries the envelope below. The fields under it are computed or stamped by the platform — they are returned, never sent.
| Field | Type | Description |
|---|---|---|
object | string | Always check. |
id | string | Stable object id. Also accepted in place of slug on any path. |
slug | string | URL-safe name, unique within the collection. |
created_at | string | ISO-8601 timestamp of the first write. |
updated_at | string | ISO-8601 timestamp of the most recent write. The cursor sorts on this. |
scorecard_id | string | Slug of the scorecard this check belongs to (e.g. ai-readiness). |
level | string | Id of the scorecard_levels rung this check is scored under. |
milestone | string | Grouping label the check's level uses to cluster related checks. |
title | string | What the check verifies, in one line. |
description | string | The passing condition, stated as a sentence a repo owner can act on. |
status | string | Whether the check passed the last time the scorecard was scanned. pending = seeded or reset, not yet evaluated; unknown = the scan could not decide. |
severity | string | How much a failure of this check matters. |
score | number | Points this check actually earned on the last scan. |
max_score | number | Points this check is worth when it passes. |
impact_points | number | Percentage points the overall scorecard gains when this check starts passing. |
impact_label | string | How the scan phrased this check's upside, e.g. "+4% AI readiness". Falls back to +\<impact_points>% scorecard when the scan wrote none. |
verification_state | string | How well the scan could prove this check: verified = proven from repo/project data; needs_action = unproven but a follow-up action exists; not_verified = unproven with no safe automated action; running = still scanning. |
verification_kind | string | What kind of proof the state rests on: detected_signal (repo/file inspection or an evidence tool) or completed_action (a remediation task that finished). |
evidence_label | string | The proof the scan found, in one line — a path, a matched pattern, a command's output tail, or why it could not be proven. |
action_status | string | Whether a one-click follow-up exists for this check. available implies a working action_skill_id. |
action_skill_id | string | Skill that remediates this check when run (e.g. open-pr). |
prompt | string | The instruction handed to the remediation skill when the follow-up is launched. |
quick_action_id | string | Id of the quick_actions row this check produces while it is failing. |
display_order | number | Sort position within the level, so checks read in the order the contract declares them. |
Errors
Failures use { error: { type, code, message, param } }. The full code table is generated at Error Codes.