---
title: "Record an idempotent provider-reported action outcome"
method: POST
path: "/provider/outcomes"
---

# Record an idempotent provider-reported action outcome

`POST /provider/outcomes`

Provider-authenticated assertion, not an independent NHS audit. A charged ticket may later receive an invalid or duplicate credit after expiry or revocation; no positive outcome or new charge may cross those boundaries.

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `ticket_id` string, uuid — Optional compatibility assertion; NHS derives the authoritative ticket from the verified attribution token
  - `attribution_token` string, required — The exact signed bearer received in the attributed provider action URL; NHS derives its ticket and offer binding server-side
  - `outcome` 'accepted' | 'activated' | 'converted' | 'rejected' | 'duplicate' | 'invalid', required

## Response `200`

Exact idempotent replay

## Other responses

- `201` — New signed provider-outcome receipt
- `401` — Valid claim-scoped provider key required
- `409` — Invalid transition

---

[API](https://skmtc.net/nothumansearch/apis/not-human-search-api.md) · [All operations](https://skmtc.net/nothumansearch/apis/not-human-search-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nothumansearch/not-human-search-api/revisions/bdae4e208ce7/schema)
