Save Beneficiary
Save a recipient and their bank account for a currency and network so later transfers can reference it by id. The details are validated exactly as a transfer on that network would be. Saving an account you already have returns the existing beneficiary with its details refreshed.
X-Api-Key<token>API key in format: sti_env_prefix_secret
Save a recipient and their bank account for a currency and network. The details are validated exactly as a transfer on that network would be. Saving an account you already have returns the existing beneficiary with its details refreshed rather than a duplicate.
application/json- body
Save a recipient and their bank account for a currency and network. The details are validated exactly as a transfer on that network would be. Saving an account you already have returns the existing beneficiary with its details refreshed rather than a duplicate.
network*stringNetwork the beneficiary is paid by: bank = local transfer, swift = international wire
"bank""swift"label?stringDisplay name for the beneficiary. Defaults to the account holder name.
1 <= length <= 120destination*Default Response
application/json- response
id*stringBeneficiary id
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidlabel*|Organisation-chosen display name
status*stringactive: available as a transfer destination. archived: kept for history only.
"active""archived"network*stringAPI network identifier for FIAT payment rails: swift = international wire transfer, bank = domestic transfer, payid = Australian NPP PayID alias payout
"swift""bank""payid"destination*validation*last_used_at*|When a transfer was last created to this beneficiary; null if never paid
created_at*string^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-timeupdated_at*string^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-timearchived_at*|nullcurl -X POST 'https://api.sandbox.stables.money/api/v1/beneficiaries' \ -H 'Content-Type: application/json' \ -d '{ "network": "bank", "destination": { "type": "bank", "account_holder_name": "string", "bank_name": "string", "bank_country": "st", "currency": "str" }}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "label": "string", "status": "active", "network": "swift", "destination": { "type": "bank", "recipient_type": "individual", "date_of_birth": "string", "phone": "string", "account_holder_name": "string", "account_number": "string", "iban": "string", "bank_name": "string", "bank_country": "st", "currency": "str", "account_type": "savings", "branch_name": "string", "address": { "street": "string", "city": "string", "state": "string", "postal_code": "string", "country": "string" }, "swift_code": "string", "bic_code": "string", "ifsc_code": "string", "aba_code": "string", "sort_code": "string", "branch_code": "string", "bsb_code": "string", "bank_code": "string", "cnaps": "string", "name_in_local_language": "string", "national_identification_number": "string" }, "validation": { "valid": true, "errors": [ { "field": "string", "message": "string", "code": "UNSUPPORTED_CURRENCY" } ] }, "last_used_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "archived_at": "2019-08-24T14:15:22Z"}Saves a recipient and their bank account for a currency and network, so later transfers can pay it by beneficiary_id. You don't need to call this before paying someone: every bank transfer saves its destination automatically.
The details are validated exactly as a transfer on that network would validate them. See Beneficiary Requirements.
Saving an account your organisation already has returns the existing beneficiary, with its contact details refreshed and its label updated if you send one. An archived beneficiary is restored.
PayID aliases can't be saved as beneficiaries.
Related: Beneficiaries in the Developer Platform guide.