---
title: "Verify a signed refusal receipt"
method: POST
path: "/api/refusal/verify"
tags: ["verification"]
---

# Verify a signed refusal receipt

`POST /api/refusal/verify`

## Request

- Base URL: `https://api.anygas.xyz/svc`
- URL: `https://api.anygas.xyz/svc/api/refusal/verify`
- Auth: none declared

When a payment provider says no, the AGENT carries the blame: its principal sees an incomplete task and has only the agent’s account of why. "The relay refused me" is indistinguishable from "I got it wrong" or "I never tried". Send `x-anygas-receipt: 1` on any request and, IF we refuse it, the error response carries a signed `refusalReceipt` recording what was asked, when, and the reason we actually returned. Hand it to your principal; they verify it against our published signer address. Rewrite the reason or the error code and verification fails — the digest is recomputed from the submitted fields, never taken from the `digest` field, so blame cannot be shifted in either direction. A receipt proves the refusal HAPPENED. It is explicitly not a claim that the refusal was correct — use it to evidence that you were blocked, or to contest the decision with us. Receipts are opt-in and error-only: successful requests never mint one.

## Request body

- object

## Response `200`

valid true/false, recomputed digest, recovered signer, and why

- object

---

[API](https://skmtc.dev/anygas/apis/robyn-anygas-api.md) · [All operations](https://skmtc.dev/anygas/apis/robyn-anygas-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anygas/apis/robyn-anygas-api/revisions/9b7498be8304?raw)
