Skip to main content
POST
Create International Payment

Authorizations

x-api-key
string
header
required

Your Meow API key, sent in the x-api-key header for authentication.

Headers

Idempotency-Key
string
required

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.

Required string length: 1 - 50
Pattern: ^[!-~]+$
x-entity-id
string<uuid>

Optional entity_id to scope requests to a specific entity.

Path Parameters

account_id
string
required

The account the payment is funded from.

Body

application/json
contact_id
string<uuid>
required

Contact to pay. The contact must already have international payment details saved. Use list_contacts to find one.

recipient_currency
enum<string>
required

Currency the recipient is paid in.

Available options:
AED,
AFN,
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
BND,
BOB,
BOV,
BRL,
BSD,
BTN,
BWP,
BYN,
BZD,
CAD,
CDF,
CHE,
CHF,
CHW,
CLF,
CLP,
CNY,
COP,
COU,
CRC,
CUC,
CUP,
CVE,
CZK,
DJF,
DKK,
DOP,
DZD,
EGP,
ERN,
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
GNF,
GTQ,
GYD,
HKD,
HNL,
HRK,
HTG,
HUF,
IDR,
ILS,
INR,
IQD,
IRR,
ISK,
JMD,
JOD,
JPY,
KES,
KGS,
KHR,
KMF,
KPW,
KRW,
KWD,
KYD,
KZT,
LAK,
LBP,
LKR,
LRD,
LSL,
LYD,
MAD,
MDL,
MGA,
MKD,
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
MXV,
MYR,
MZN,
NAD,
NGN,
NIO,
NOK,
NPR,
NZD,
OMR,
PAB,
PEN,
PGK,
PHP,
PKR,
PLN,
PYG,
QAR,
RON,
RSD,
RUB,
RWF,
SAR,
SBD,
SCR,
SDG,
SLE,
SEK,
SGD,
SHP,
SLL,
SOS,
SRD,
SSP,
STN,
SVC,
SYP,
SZL,
THB,
TJS,
TMT,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
USD,
USN,
UYI,
UYU,
UYW,
UZS,
VED,
VES,
VND,
VUV,
WST,
XAF,
XAG,
XAU,
XBA,
XBB,
XBC,
XBD,
XCD,
XDR,
XOF,
XPD,
XPF,
XPT,
XSU,
XTS,
XUA,
XXX,
YER,
ZAR,
ZMW,
ZWG,
ZWL
purpose
string
required

Why the money is being sent. Required for every destination, and some destinations reject a purpose that is too short or too vague. Anything longer than 50 characters is rejected.

Required string length: 1 - 50
recipient_amount

How much the recipient receives, in recipient_currency. The dollar amount debited is derived from this at the current rate. Give this or source_amount, never both.

Required range: x > 0
source_amount

US dollars to convert, before the fee. What the recipient receives is derived from this at the current rate. Give this or recipient_amount, never both.

Required range: x > 0
purpose_code
enum<string> | null

A destination-specific classification of the payment. Required for some destination currencies and countries; when it is required and missing, the error names it.

Available options:
advertising,
advisor_fees,
construction,
education,
exports,
family,
fund_investment,
goods,
hotel,
insurance_claims,
insurance_premium,
loan_repayment,
medical,
other_fees,
property_purchase,
property_rental,
royalties,
services,
tax,
transfer,
travel,
utilities,
business_insurance,
delivery,
office,
share_investment,
transportation,
ACM,
AES,
AFA,
AFL,
ALW,
ATS,
BON,
CCP,
CEA,
CEL,
CHC,
CIN,
COM,
COP,
CRP,
DCP,
DIV,
DLA,
DLF,
DLL,
DOE,
DSA,
DSF,
DSL,
EDU,
EMI,
EOS,
FAM,
FDA,
FDL,
FIA,
FIL,
FIS,
FSA,
FSL,
GDE,
GDI,
GMS,
GOS,
GRI,
IFS,
IGD,
IGT,
IID,
INS,
IOD,
IOL,
IPC,
IPO,
IRP,
IRW,
ISH,
ISL,
ISS,
ITS,
LAS,
LDL,
LDS,
LEA,
LEL,
LIP,
LLA,
LLL,
LNC,
LND,
MCR,
MWI,
MWO,
MWP,
OAT,
OTS,
OVT,
PEN,
PIN,
PIP,
PMS,
POR,
POS,
PPA,
PPL,
PRP,
PRR,
PRS,
PRW,
RDS,
RFS,
RLS,
RNT,
SAA,
SAL,
SCO,
SLA,
SLL,
STR,
STS,
SVI,
SVO,
SVP,
TCP,
TCR,
TCS,
TKT,
TOF,
TTS,
UTL
invoice_number
string | null

Reference of the invoice this payment settles. Required for some destination currencies and countries. Anything that is not a letter or a digit is removed and the result is cut to 30 characters before it reaches the banking partner; an INR payment needs what remains to be non-empty.

Required string length: 1 - 30
invoice_date
string<date> | null

Date of the invoice this payment settles. Required for some destination currencies and countries.

reference
string | null

Reference shown to the recipient, where the destination rail supports one.

Required string length: 1 - 140
metadata
Metadata · object | null

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.

Response

Successful Response

approval_id
string<uuid>
required

Handle for this payment. Poll GET /approvals/{approval_id} to learn the outcome.

status
enum<string>
required

processing means the payment was accepted and is being sent. pending_approval means someone must approve it in the Meow dashboard before any money moves.

Available options:
processing,
pending_approval
contact_id
string<uuid>
required

Contact being paid.

recipient_amount
string
required

How much the recipient receives.

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
recipient_currency
enum<string>
required

Currency the recipient is paid in.

Available options:
AED,
AFN,
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
BND,
BOB,
BOV,
BRL,
BSD,
BTN,
BWP,
BYN,
BZD,
CAD,
CDF,
CHE,
CHF,
CHW,
CLF,
CLP,
CNY,
COP,
COU,
CRC,
CUC,
CUP,
CVE,
CZK,
DJF,
DKK,
DOP,
DZD,
EGP,
ERN,
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
GNF,
GTQ,
GYD,
HKD,
HNL,
HRK,
HTG,
HUF,
IDR,
ILS,
INR,
IQD,
IRR,
ISK,
JMD,
JOD,
JPY,
KES,
KGS,
KHR,
KMF,
KPW,
KRW,
KWD,
KYD,
KZT,
LAK,
LBP,
LKR,
LRD,
LSL,
LYD,
MAD,
MDL,
MGA,
MKD,
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
MXV,
MYR,
MZN,
NAD,
NGN,
NIO,
NOK,
NPR,
NZD,
OMR,
PAB,
PEN,
PGK,
PHP,
PKR,
PLN,
PYG,
QAR,
RON,
RSD,
RUB,
RWF,
SAR,
SBD,
SCR,
SDG,
SLE,
SEK,
SGD,
SHP,
SLL,
SOS,
SRD,
SSP,
STN,
SVC,
SYP,
SZL,
THB,
TJS,
TMT,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
USD,
USN,
UYI,
UYU,
UYW,
UZS,
VED,
VES,
VND,
VUV,
WST,
XAF,
XAG,
XAU,
XBA,
XBB,
XBC,
XBD,
XCD,
XDR,
XOF,
XPD,
XPF,
XPT,
XSU,
XTS,
XUA,
XXX,
YER,
ZAR,
ZMW,
ZWG,
ZWL
source_amount
string
required

US dollars converted to fund the payment, at the rate quoted when you called. The final debit is set when the payment executes and can differ slightly if the rate moves.

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
fee_amount
string
required

Meow's fee for the conversion, in US dollars.

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
total_amount
string
required

US dollars debited in total, fee included. This is the figure your approval rules are evaluated against.

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
created_time
integer
required

When the payment was requested, as a Unix timestamp.

message
string | null

Present when the payment needs approval, to say so.

metadata
Metadata · object | null

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.