---
title: "Verify immutable NHS signature separately from freshness and current accounting state"
method: POST
path: "/action-receipts/verify"
---

# Verify immutable NHS signature separately from freshness and current accounting state

`POST /action-receipts/verify`

## Request body

- object
  - `signed_receipt` string, required — Exact canonical JSON returned by NHS
  - `signature` string, required — Unpadded base64url HMAC

## Response `200`

Signature validity, time-window status, and current online commercial state when available

- object
  - `signature_valid` boolean
  - `within_validity_window` boolean
  - `time_status` 'current' | 'expired' | 'not_yet_valid' | 'invalid_time'
  - `receipt` SignedOutcomeReceipt
    - `v` 1
    - `kid` string
    - `receipt_id` string, uuid
    - `ticket_id` string, uuid
    - `offer_id` string, uuid
    - `nhs_event_id` string, uuid
    - `outcome` 'accepted' | 'activated' | 'converted' | 'rejected' | 'duplicate' | 'invalid'
    - `provider_reported_at` integer
    - `recorded_at` integer
    - `expires_at` integer
    - `charged_minor` integer
    - `currency` 'usd'
    - `charge_status` 'charged' | 'credited' | 'none'
  - `current_state_available` boolean
  - `current_state_status` 'current' | 'not_found' | 'unavailable'
  - `current_state` PublicOutcomeReceiptState — Mutable online state, separate from immutable signature validity
    - `receipt_id` string, uuid
    - `action_ticket_id` string, uuid
    - `receipt_outcome` string
    - `current_ticket_status` string
    - `original_charge_credited` boolean
    - `superseded_by_later_state` boolean
    - `authorization_revoked` boolean
    - `net_commercial_effect_cents` integer
    - `net_commercial_effect_currency` 'usd'

---

[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)
