---
title: "Verify and consume one holder-bound AP2 closed-checkout mandate"
method: POST
path: "/api/ap2-mandate-gateway"
---

# Verify and consume one holder-bound AP2 closed-checkout mandate

`POST /api/ap2-mandate-gateway`

## Request

- Base URL: `https://weverlabs.com`
- URL: `https://weverlabs.com/api/ap2-mandate-gateway`
- Auth: none declared

Trusted issuer, fresh holder wallet proof, gateway challenge and unused signed mandate nonce required. No checkout execution or payment authority.

## Request body

- object
  - `mode` 'verify_mandate', required
  - `presentation` string, required
  - `challenge_token` string, required

## Response `200`

Durably consumed mandate with signed verification receipt

## Other responses

- `400`: Invalid input, issuer, signature, expiry or unsupported profile rejected before billing
- `401`: Holder mismatch or wallet proof required
- `402`: x402 API access payment required after shared allowance
- `409`: Mandate or checkout already consumed
- `503`: Trust, storage or signing dependency unavailable

---

[API](https://skmtc.dev/weverlabs/apis/wever-labs-agent-api.md) · [All operations](https://skmtc.dev/weverlabs/apis/wever-labs-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/weverlabs/apis/wever-labs-agent-api/revisions/e4eed0d1f6e3?raw)
