Checklist

Read a checklist run

Changed on

Returns the checklist run for an approval request: its aggregate status, every item with its state, and a summary.

get/approval/{id}/checklist

Request

  • Base URL
    https://api.nullplatform.com
  • URL
    https://api.nullplatform.com/approval/{id}/checklist
  • Auth
    HTTP bearer

Path parameters

idinteger required

The ID of the approval request.

Response

The operation was successful.

idstring

ID of the checklist run.

approval_request_idinteger

The approval request this run belongs to.

specification_idstring

The specification version the run was created from.

specification_snapshotobject

The specification as it stood when the run started. Editing the specification later never changes this.

context_snapshotobject

The request context conditions were evaluated against, captured at creation.

aggregate_status'pending_items' | 'pending_aggregation' | 'pending_override' | 'resolved'

Where the run is in its lifecycle.

final_outcome'approve' | 'approve_with_override' | 'fail' | 'cancelled' | 'expired' nullable

How the run ended. Null while it is still open.

outcome_reasonstring nullable

Why the run ended the way it did, when there is more to say than the outcome.

override_metadataobject nullable

Who approved the override and what they said, on a run that ended in approve_with_override.

started_atstring date-time

When the run was created.

resolved_atstring date-time nullable

When the run reached its final outcome. Null while it is still open.

available_actionsstring[]

What the requester can still do with the run. ask_for_manual is absent when the action's on_checklist_fail is deny.

Example response

{
  "id": "crun_abc123def456ghij",
  "approval_request_id": 1234,
  "specification_id": "spec_abc123def456ghij",
  "aggregate_status": "pending_items",
  "final_outcome": "approve",
  "outcome_reason": "requested_manual_review",
  "started_at": "2026-08-28T14:12:03.000Z",
  "resolved_at": "2026-08-28T15:02:47.000Z",
  "items": [
    {
      "id": "admin_approval",
      "type": "manual",
      "behavior": "override",
      "title": "Admin approval",
      "description": "Required when the change analysis rates the risk as high.",
      "severity": "major",
      "group_id": "human_approvals",
      "children": [
        "peer_approval",
        "admin_approval"
      ],
      "status": "undetermined",
      "applicable": true,
      "applies_when": {
        "run.items.change_analysis.output.risk": "high"
      },
      "depends_on": [
        "change_analysis"
      ],
      "applicability": {
        "applicable": true,
        "decided_at": "2026-08-28T14:15:21.000Z",
        "refs": {
          "run.items.change_analysis.output.risk": "high"
        }
      },
      "output": {
        "risk": "high"
      },
      "resolved_by": {
        "user_id": 1234,
        "effective_roles": [
          "admin"
        ],
        "at": "2026-08-28T14:20:03.000Z"
      }
    }
  ],
  "items_summary": {
    "total": 4,
    "passed": 2,
    "pending": 1,
    "skipped": 1
  },
  "available_actions": [
    "ask_for_manual",
    "cancel"
  ],
  "action_config": {
    "on_checklist_fail": "manual"
  },
  "execution": {
    "trigger": "automatic_approval",
    "automatic_run": true,
    "on_approval": "execute"
  }
}

Changes

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • breaking

      the response property became optional for the status

    • breaking

      the response property became optional for the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      response property message deprecated

    • info

      response property message deprecated

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status