---
title: "Create wire payment"
method: POST
path: "/wire"
tags: ["Wire"]
---

# Create wire payment

`POST /wire`

Create a wire 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 to act for (pty_*). Omit to act as your own party. To act for another party, pass the ID of a party that has authorized you to act on its behalf.
      - `amount` integer, required — Amount in cents.
      - `currency` 'USD' — Currency code. Defaults to USD.
      - `walletId` string — Wallet (wal_*) to pay from. Omit to use the party default for user or party API calls, or the agent default for the current customer connection when acting through a connected agent. Owned agents use their own agent default.
      - `externalPartyAccountId` string, required — External party account (epa_*) to pay.
      - `description` string, required — Payment description stored for the sender's records. Not sent over Fedwire. Maximum 1000 characters.
      - `remittanceInfo` string — Remittance information delivered to the beneficiary, combined with the originator name into the Fedwire OBI field. Maximum 105 characters: letters, digits, spaces, and / - ? : ( ) . , ' +.
      - `internalDescription` string — Description for your internal reference. Never shared with the counterparty or the banking network. Maximum 255 characters.

## Response `201`

Successful Response

- object
  - `data` object, required
    - `type` 'wire', required — Resource type. Always `wire`.
    - `id` string, required — Wire ID (wire_*).
    - `attributes` object, required
      - `amount` integer, required — Amount in cents.
      - `currency` 'USD', required — Currency code.
      - `fee` object, nullable, required — Fee added to your cost as the sender. Null when no fee applies, the wire ended before network submission, the fee was voided, or your party is not the fee payer.
        - `amount` integer, required — Fee amount in cents.
        - `currency` 'USD', required — Currency of the fee.
        - `payer` 'sender', required — Party role charged the fee.
        - `applied` 'on_top', required — The fee is added to the sender's cost without reducing the principal amount.
      - `status` 'CREATED' | 'AWAITING_APPROVAL' | 'APPROVAL_DENIED' | 'PROCESSING' | 'COMPLETED' | 'REJECTED' | 'FAILED' | 'CANCELED', required — Wire status, in lifecycle order: CREATED, AWAITING_APPROVAL, PROCESSING, COMPLETED; APPROVAL_DENIED, REJECTED, FAILED, or CANCELED end it.
      - `remittanceInfo` string, nullable, required — Remittance information delivered to the beneficiary, or null.
      - `description` string, required — Payment description stored for the sender's records. Not sent over Fedwire.
      - `internalDescription` string, nullable, required — Description for your internal reference, or null. Never shared with the counterparty or the banking network.
      - `failure` object, nullable, required — Failure details when the wire failed, or null.
        - `reason` string, nullable, required — Failure reason, or null.
        - `code` string, nullable, required — Failure code, or null.
      - `submittedAt` string, nullable, required — RFC 3339 timestamp when the wire was submitted, or null.
      - `rejectedAt` string, nullable, required — RFC 3339 timestamp when the wire was rejected, or null.
      - `expectedCompletionAt` string, nullable, required — RFC 3339 estimate of when the wire completes, or null. Not a guarantee.
      - `completedAt` string, nullable, required — RFC 3339 timestamp when the wire completed, or null.
      - `terminalAt` string, nullable, required — RFC 3339 timestamp when the wire reached a terminal status, or null.
      - `createdAt` string, required — RFC 3339 timestamp when the wire was created.
      - `updatedAt` string, required — RFC 3339 timestamp when the wire was last updated.
    - `relationships` object, required
      - `customerParty` object, required — Party the wire was created for.
        - `data` object, required — Related resource identifier.
          - `type` 'party', required — Resource type. Always `party`.
          - `id` string, required
      - `wallet` object, required — Wallet the wire pays from.
        - `data` object, required — Related resource identifier.
          - `type` 'wallet', required — Resource type. Always `wallet`.
          - `id` string, required
      - `externalParty` object, required — External party paid.
        - `data` object, required — Related resource identifier.
          - `type` 'external_party', required — Resource type. Always `external_party`.
          - `id` string, required
      - `externalPartyAccount` object, required — External party account paid.
        - `data` object, required — Related resource identifier.
          - `type` 'external_party_account', required — Resource type. Always `external_party_account`.
          - `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-24** `e79d669f0234` — 3 info
  - added the new optional request property `data/attributes/internalDescription`
  - added the required property `data/attributes/fee` to the response with the `201` status
  - added the required property `data/attributes/internalDescription` to the response with the `201` status
- **2026-09-11** `226131258c12` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/natural/apis/natural-api/changes/wire/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.dev/natural/apis/natural-api/revisions/ca3882d75a00?raw)
