---
title: "Create realtime payment"
method: POST
path: "/realtime"
tags: ["Realtime"]
---

# Create realtime payment

`POST /realtime`

Create a realtime payment to an external party account

## Headers

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

## Request body

- object
  - `data` object, required
    - `attributes` object, required
      - `customerPartyId` string — Customer party ID (pty_*). Omit to create for your own party; provide for delegated creation.
      - `amount` integer, required — Integer amount in the minor units of currency.
      - `currency` 'USD'
      - `walletId` string
      - `externalPartyAccountId` string, required
      - `description` string, required — Payment description delivered to the recipient bank. Maximum 140 characters from the ISO 20022 character set (letters, digits, spaces, and / - ? : ( ) . , ' +).

## Response `201`

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