---
title: "Register provider request / response / webhook payloads"
method: POST
path: "/dry-run/provider-events"
---

# Register provider request / response / webhook payloads

`POST /dry-run/provider-events`

Stores the HTTP traffic that the merchant exchanged directly with a payment
provider (request, response, and webhook) for correlation to a Yuno payment.

## Headers

- `PUBLIC-API-KEY` string
- `PRIVATE-SECRET-KEY` string
- `X-Idempotency-Key` string

## Request body

- DryRunRequest
  - `merchant_reference` string, required — Merchant-assigned identifier (MAX 255; MIN 3). Unique per account.
  - `payment_id` string, uuid — Yuno payment UUID. If supplied, resolved immediately.
  - `account_id` string, uuid — Yuno account UUID — same shape as account_id in POST /v1/payments.
  - `provider_id` 'STRIPE' | 'ADYEN' | 'CYBERSOURCE' | 'BRAINTREE' | 'NMI' | 'CHECKOUT' | 'WORLDPAY' | 'PAYPAL' | 'EBANX' | 'GLOBALPAYMENTS' | 'NUVEI' | 'CIELO' | 'MPGS' | 'PRISMA' | 'FISERV' | 'WORLDLINE' | 'ANTOM' | 'ORBITAL' | 'GOCARDLESS' | 'AUTHORIZE_NET' | 'SONY' | 'CITI' | 'EPX' | 'HPAY' | 'PAYSTACK' | 'PLAID' | 'SAFERPAY' | 'SIKA_HEALTH' | 'VALIDIFI' | 'WEPAY' | 'CARD_CONNECT' | 'GMO_PG' | 'MONERIS' | 'BLUESNAP' | 'QUICK_GATEWAY' | 'TWENTYFOUR_HOUR_FITNESS' | 'MERCHANT_ESOLUTIONS' | 'NETS' | 'FAT_ZEBRA' | 'WINDCAVE' | 'CHASE_MOBILITY' | 'HELIX' | 'ANB' | 'AMAZON_PAY' | 'OPAYO' | 'IP_PAYMENTS' | 'KLARNA' | 'BILLDESK' | 'WELLS_FARGO' | 'SAGEPAY' | 'PLANET' — Provider identifier. Allowed values aligned to the Yuno catalog.
  - `payment_method_type` '' | 'CARD' | 'CREDIT_CARD' | 'CREDIT_CARD_REFERENCE_TRANSACTION' | 'DEBIT_CARD' | 'EPX_TOKEN' | 'TEST_CREDIT_CARD' | 'UPC_TOKEN_TRANSACTION' | 'APPLE_PAY' | 'GOOGLE_PAY' | 'PIX' | 'PSE' | 'OXXO' | 'BOLETO' | 'ALI_PAY' | 'AMAZON_PAY' | 'GCASH' | 'IDEAL' | 'KAKAO_PAY' | 'KLARNA' | 'MOMO_PAY' | 'NAVER_PAY' | 'OVO' | 'PAYPAL' | 'PAYPAL_CREDIT' | 'PAYPAY' | 'PAZE' | 'TOSS_PAY' | 'UPI' | 'VENMO' | 'ACH' | 'BANK_TRANSFER' | 'CRYPTO' | 'CASH' — Payment method exercised by this dry-run. Same vocabulary as payment_method.type in POST /v1/payments.
  - `events` Event[], required — 1–10 HTTP exchange entries for this dry-run (MAX 10; MIN 1).
    - `type` 'REQUEST' | 'RESPONSE' | 'WEBHOOK', required — Which leg of the exchange this entry captures.
    - `http_method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', required
    - `operation_type` 'PURCHASE' | 'AUTHORIZE' | 'CAPTURE' | 'CANCEL' | 'REFUND' | 'CHARGEBACK' | 'THREE_D_SECURE', required — Identifies the payment operation type being simulated.
    - `base_url` string, uri — Required for REQUEST and WEBHOOK. Origin of the provider endpoint — scheme + host + port (e.g. https://api.stripe.com).
    - `endpoint` string — Required for REQUEST and WEBHOOK. Path and query portion (e.g. /v1/charges?expand=customer).
    - `http_status_code` integer — Required for RESPONSE and WEBHOOK. Omit for REQUEST.
    - `headers` string, byte, required — Base64-encoded header payload. Decoded content may be a JSON-serialized `{header-name: header-value}` map or the raw HTTP header block. Hard cap: 64 KB of decoded bytes per event.
    - `body` string, byte — Base64-encoded body payload. Omit for empty bodies. Hard cap: 1 MB of decoded bytes per event. For non-UTF-8 bodies (protobuf, gzip), base64-encode the raw bytes directly.

## Response `201`

Dry-run registered

- DryRunResponse
  - `id` string, required — Public identifier of the dry-run registration (nano_id, 21 chars).
  - `status` 'REGISTERED', required — Lifecycle state.
  - `merchant_reference` string, required
  - `payment_id` string, uuid, nullable
  - `account_id` string, uuid, nullable
  - `provider_id` string
  - `payment_method_type` '' | 'CARD' | 'CREDIT_CARD' | 'CREDIT_CARD_REFERENCE_TRANSACTION' | 'DEBIT_CARD' | 'EPX_TOKEN' | 'TEST_CREDIT_CARD' | 'UPC_TOKEN_TRANSACTION' | 'APPLE_PAY' | 'GOOGLE_PAY' | 'PIX' | 'PSE' | 'OXXO' | 'BOLETO' | 'ALI_PAY' | 'AMAZON_PAY' | 'GCASH' | 'IDEAL' | 'KAKAO_PAY' | 'KLARNA' | 'MOMO_PAY' | 'NAVER_PAY' | 'OVO' | 'PAYPAL' | 'PAYPAL_CREDIT' | 'PAYPAY' | 'PAZE' | 'TOSS_PAY' | 'UPI' | 'VENMO' | 'ACH' | 'BANK_TRANSFER' | 'CRYPTO' | 'CASH'
  - `operation_type` string

## Other responses

- `400` — Validation failure
- `401` — Missing or invalid credentials
- `404` — Payment not found
- `409` — Idempotency replay with a different payload
- `413` — Payload or batch exceeds size limits
- `415` — Unsupported Content-Type (must be application/json)
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/y/apis/ai-caller.md) · [All operations](https://skmtc.net/y/apis/ai-caller/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/y/ai-caller/revisions/05b629819b49/schema)
