Skip to main content
POST
/
v1
/
beneficiaries
/
{id}
/
instruments
Create a payment instrument for a beneficiary
curl --request POST \
  --url http://localhost:8080/v1/beneficiaries/{id}/instruments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "method": "<string>",
  "credentials": {},
  "currency": "<string>",
  "country": "<string>",
  "label": "<string>",
  "is_default": true
}
'
{
  "id": "ins_cq1234567890abcdef",
  "beneficiary_id": "<string>",
  "merchant_id": "<string>",
  "method": "<string>",
  "currency": "<string>",
  "country": "<string>",
  "label": "<string>",
  "display_last4": "<string>",
  "display_bank": "<string>",
  "display_network": "<string>",
  "status": "active",
  "is_default": true,
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Merchant API key: ak_live_... or ak_test_...

Path Parameters

id
string
required

Resource identifier (xid format)

Body

application/json
method
string
required

Payment method type

credentials
object
required

Method-specific credential fields (tokenized via Basis Theory)

currency
string
country
string
label
string
is_default
boolean

Response

Instrument created

id
string
Example:

"ins_cq1234567890abcdef"

beneficiary_id
string
merchant_id
string
method
string

Payment method (e.g., ach, sepa, swift, eft, pix, crypto)

currency
string
country
string
label
string
display_last4
string
display_bank
string
display_network
string
status
enum<string>
Available options:
active,
disabled
is_default
boolean
created_at
string<date-time>
updated_at
string<date-time>