---
title: "Cancel realtime payment"
method: POST
path: "/realtime/{realtimeId}/cancel"
tags: ["Realtime"]
---

# Cancel realtime payment

`POST /realtime/{realtimeId}/cancel`

Cancel a realtime payment before submission

## Path parameters

- `realtimeId` string, required

## Headers

- `Idempotency-Key` string, required
- `X-Instance-ID` string, nullable

## Request body

- object
  - `data` object, required
    - `attributes` object, required
      - `customerPartyId` string — Defaults to your party. To act for another party, pass the ID of a party that has authorized you to act on its behalf.
      - `reason` string, required

## Response `200`

Successful Response

- object
  - `data` object, required
    - `type` 'realtime', required
    - `id` string, required
    - `attributes` object, required
      - `amount` integer, required — Integer amount in the minor units of currency.
      - `currency` 'USD', required
      - `status` 'CREATED' | 'AWAITING_APPROVAL' | 'APPROVAL_DENIED' | 'PROCESSING' | 'SETTLED' | 'FAILED' | 'CANCELED', required
      - `description` string, required — Payment description delivered to the recipient bank.
      - `failure` object, nullable, required
        - `reason` string, nullable, required
        - `code` string, nullable, required
      - `submittedAt` string, nullable, required
      - `settledAt` string, nullable, required — When the transfer settled. Settled realtime transfers are irrevocable; there is no return state.
      - `terminalAt` string, nullable, required
      - `createdAt` string, required
      - `updatedAt` string, required
    - `relationships` object, required
      - `customerParty` object, required
        - `data` object, required — Related resource identifier.
          - `type` 'party', required
          - `id` string, required
      - `wallet` object, required
        - `data` object, required — Related resource identifier.
          - `type` 'wallet', required
          - `id` string, required
      - `externalParty` object, required
        - `data` object, required — Related resource identifier.
          - `type` 'external_party', required
          - `id` string, required
      - `externalPartyAccount` object, required
        - `data` object, required — Related resource identifier.
          - `type` 'external_party_account', required
          - `id` string, required

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found. Returned when the resource does not exist, or when it exists but is not accessible to your account. The two cases are intentionally indistinguishable, so that resource IDs cannot be enumerated by probing.
- `409` — Conflict
- `422` — Validation Error. The response contains one error object for each invalid request value.
- `428` — Precondition Required
- `429` — Too Many Requests
- `500` — Internal Server Error
- `501` — Not Implemented
- `502` — Bad Gateway
- `503` — Service Unavailable

## Changes

- **2026-09-04** `3d0bfe344af2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/natural/apis/natural-api/changes/realtime/:realtimeId/cancel/post.md)

---

[API](https://skmtc.dev/natural/apis/natural-api.md) · [All operations](https://skmtc.dev/natural/apis/natural-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/natural/natural-api/revisions/3d0bfe344af2/schema)
