Direct is in early access and subject to change. To request Direct access, contact hi@natural.com.
wire_*) sends USD from a Wallet to an External party account over Fedwire.
Create
descriptionis an internal label and is not sent to the bank.remittanceInfois what the beneficiary sees. It is optional, up to 105 characters, and limited to letters, digits, spaces, and/ - ? : ( ) . , ' +. Your legal name andremittanceInfotogether must fit in 140 characters.- Fedwire requires a complete beneficiary address. If the External party has none, create returns
400 wire.beneficiary_address_required. Add the address withPATCH /external-parties/{externalPartyId}/address, passing the party’s currentaddressVersionasexpectedAddressVersion, then retry the wire with the same IDs. - The external party account’s
supportedRailsis an advisory hint. The authoritative reachability check runs when you create the wire. - To send on behalf of a customer, pass
customerPartyId. See Move money for a customer.
Lifecycle
Cancel — A wire can be canceled while it is
CREATED or AWAITING_APPROVAL. Once submission starts, cancel returns 400 wire.not_cancellable. Canceling emits no wire.* event.
Events — Status changes emit wire.created, wire.processing, wire.completed, wire.rejected, and wire.failed. Approval holds emit approval.* events instead. Events go to your webhooks, and to a connected customer’s webhooks when they have granted Direct read access. The fee is assessed when the wire is submitted, so it’s always null on wire.created. Read it from wire.processing. Payloads are documented in the event catalog.
Sandbox — Drive a test wire to a terminal state without waiting on the bank: settle moves it to COMPLETED and fail moves it to REJECTED.