---
title: "Read current self-reported Fulfillment and append-only history."
method: GET
path: "/api/v1/interactions/{interactionId}/fulfillment"
tags: ["Interactions"]
---

# Read current self-reported Fulfillment and append-only history.

`GET /api/v1/interactions/{interactionId}/fulfillment`

## Request

- Base URL: `https://commentary.dev`
- URL: `https://commentary.dev/api/v1/interactions/{interactionId}/fulfillment`
- Auth: HTTP bearer

Polling remains available. Reports are not cryptographic proof or verified provider success.

## Path parameters

- `interactionId` string, required

## Headers

- `X-Commentary-Workspace-Id` string
- `X-Correlation-Id` string

## Response `200`

Successful response.

- object
  - `data` object
    - `current` InteractionFulfillmentReport: Append-only agent self-report. selfReported is true and verified is false; this is not provider-success proof.
      - `id` string, required
      - `interactionId` string, required
      - `decisionId` string, required
      - `revisionId` string, required
      - `actionId` string, required
      - `proposalFingerprint` string, required
      - `status` 'received' | 'started' | 'completed' | 'failed' | 'unknown', required
      - `reportingAgent` object, required
      - `evidence` object, nullable
      - `reportedAt` string, date-time, required
      - `contentPurgeAfter` string, date-time, nullable
      - `contentPurgedAt` string, date-time, nullable
      - `selfReported` unknown, required
      - `verified` unknown, required
    - `history` InteractionFulfillmentReport[]
      - `id` string, required
      - `interactionId` string, required
      - `decisionId` string, required
      - `revisionId` string, required
      - `actionId` string, required
      - `proposalFingerprint` string, required
      - `status` 'received' | 'started' | 'completed' | 'failed' | 'unknown', required
      - `reportingAgent` object, required
      - `evidence` object, nullable
      - `reportedAt` string, date-time, required
      - `contentPurgeAfter` string, date-time, nullable
      - `contentPurgedAt` string, date-time, nullable
      - `selfReported` unknown, required
      - `verified` unknown, required

## Other responses

- `400`: The request was invalid.
- `401`: Authentication is required.
- `403`: The token or session does not have permission for this resource.
- `404`: The resource was not found.
- `429`: The request was rate limited.

---

[API](https://skmtc.dev/commentary/apis/commentary-public-api.md) · [All operations](https://skmtc.dev/commentary/apis/commentary-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/commentary/apis/commentary-public-api/revisions/7aaafc198c52?raw)
