Transfers

Create Wire Transfer

Creates a new wire transfer to an external counterparty. Wires are sent in US dollars, including to a counterparty banking outside the US. To pay someone in their own currency, use POST /accounts/{account_id}/international.

post/accounts/{account_id}/wire

Request

Path parameters

account_idstring required

The ID of the account.

Headers

Idempotency-Keystring nullable

A unique key you generate (1-50 printable ASCII characters, no spaces) so retrying this request never creates a duplicate. Reusing a key is rejected.

x-entity-idstring uuid

Optional entity_id to scope requests to a specific entity.

Request body

emailstring email nullable

Email address to notify when the operation completes

counterparty_idstring uuid required

Contact to pay. Use list_contacts to find one.

instructionsstring nullable

Wire instructions sent to the receiving bank.

purposestring nullable

Purpose of payment. Required by some receiving banks. Your account's bank sets the maximum length: 16 characters on most accounts, 50 on some. A longer purpose is rejected with a message giving your limit.

internal_notestring nullable

Private note, visible only inside Meow.

metadataobject nullable

Your own key/value data to attach to this object. Meow stores it unchanged and returns it on every read of the object and on every webhook event about it, so you can match it back to your own records. Up to 20 pairs; keys up to 40 characters, values up to 200, and 5 KB serialized as JSON in total — note that a non-ASCII character counts as 6 bytes and an emoji as 12. Values must be strings. Meow never interprets it — do not put anything here that needs to stay private.

idempotency_keystring nullable

Deprecated: send the key in the Idempotency-Key header instead. When both are sent they must match.

Response

Successful Response

idstring nullable

Identifier of the wire at the bank. null until the transfer leaves the queue, so it is always absent while status is processing or pending_approval. Use approval_id as the stable handle instead.

status'pending' | 'pending_approval' | 'canceled' | 'processing' | 'error' | 'sent' | 'returned' | 'void' required
amountstring required

Amount sent, in USD. Echoes the request.

instructionsstring nullable required

Wire instructions sent to the receiving bank. Echoes the request, except for contacts paid through your brokerage account, where Meow replaces the submitted memo with system-generated instructions.

counterparty_idstring uuid required

Contact that was paid. Echoes the request.

created_timeinteger required

When the transfer was created, as a Unix timestamp in seconds.

transfer_type'book' | 'usdc' | 'usdt' | 'pyusd' | 'cash' | 'usdg' | 'path_usd' | 'ach' | 'wire' | 'international' required

The rail a transfer moves on, as the customer API reports it.

approval_idstring uuid required

Handle for this transfer, returned whether or not an approval policy gated it. Pass it to GET /approvals/{approval_id} to follow the transfer to completion.

messagestring nullable

Human-readable next step. Set only when status is pending_approval; otherwise null.

metadataobject nullable

The metadata attached when this object was created, unchanged. null when none was attached. Rarely, a .created webhook can be published before the create request finishes committing, and that one event reports null; every later event and every read of the object carries the metadata.

Changes

No recorded changes to this operation across all 1 revision of this API.