IonWarp logoIonWarp
Get started
IonWarp Docs
Collections

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

ParameterTypeKindDescription
scorecard_idstringfilterSlug of the scorecard this check belongs to (e.g. ai-readiness).
levelstringfilterId of the scorecard_levels rung this check is scored under.
statusstringfilterWhether 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.
severitystringfilterHow much a failure of this check matters. One of critical, high, medium, low, info.
verification_statestringfilterHow 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_statusstringfilterWhether a one-click follow-up exists for this check. available implies a working action_skill_id. One of available, not_needed, not_available, running.
qstringsearchFree-text search across title, description.
sortstringsortOne of display_order, impact_points, score; prefix with - to reverse.
limitnumberpageRows to return, 1–100. Defaults to 20.
cursorstringpagenext_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

ParameterTypeKindDescription
idstringpathThe 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.

FieldTypeDescription
objectstringAlways check.
idstringStable object id. Also accepted in place of slug on any path.
slugstringURL-safe name, unique within the collection.
created_atstringISO-8601 timestamp of the first write.
updated_atstringISO-8601 timestamp of the most recent write. The cursor sorts on this.
scorecard_idstringSlug of the scorecard this check belongs to (e.g. ai-readiness).
levelstringId of the scorecard_levels rung this check is scored under.
milestonestringGrouping label the check's level uses to cluster related checks.
titlestringWhat the check verifies, in one line.
descriptionstringThe passing condition, stated as a sentence a repo owner can act on.
statusstringWhether the check passed the last time the scorecard was scanned. pending = seeded or reset, not yet evaluated; unknown = the scan could not decide.
severitystringHow much a failure of this check matters.
scorenumberPoints this check actually earned on the last scan.
max_scorenumberPoints this check is worth when it passes.
impact_pointsnumberPercentage points the overall scorecard gains when this check starts passing.
impact_labelstringHow the scan phrased this check's upside, e.g. "+4% AI readiness". Falls back to +\<impact_points>% scorecard when the scan wrote none.
verification_statestringHow 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_kindstringWhat 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_labelstringThe 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_statusstringWhether a one-click follow-up exists for this check. available implies a working action_skill_id.
action_skill_idstringSkill that remediates this check when run (e.g. open-pr).
promptstringThe instruction handed to the remediation skill when the follow-up is launched.
quick_action_idstringId of the quick_actions row this check produces while it is failing.
display_ordernumberSort 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.

On this page

IonWarp logoIonWarp

Ready to build? Connect an agent and go — no credit card needed to start.

Get startedSee our plans