Create and Manage Recipients
Recipients are pre-defined payment accounts (such as bank accounts, mobile money wallets, or crypto addresses) that act as destinations for your payouts via the Busha API. By creating and managing recipients, you streamline your off-ramp processes, ensuring funds are sent to verified and correct destinations quickly and efficiently.
What You’ll Achieve:
-
Understand what recipients are and why they are necessary for payouts.
-
Learn how to dynamically fetch the required fields for creating a recipient based on country and currency.
Prerequisites
Before you begin, ensure you have:
-
A Busha Business Account and Secret API Key (from the Quick Start Tutorial).
-
An understanding of API Environments (Sandbox vs. Production) and their base URLs (from the Make Your First Request Guide).
Notice of Depreciation
The request body for creating a recipient via the Busha API (referenced below) has been depreciated and will be discontinued on the 31st of July, 2025.
{
"currency_id": "NGN",
"country_id": "NG",
"type": "ngn_bank_transfer",
"legal_entity_type": "business",
"fields": [
{
"name": "bank_name",
"value": "Access Bank Nigeria"
},
{
"name": "account_number",
"value": "1234567890"
},
{
"name": "bank_code",
"value": "000014"
},
]
}
For temporary backward compatibility, please make use of the header below to support the old request body:
{
"X-BU-Version": "2025-06-01"
}
Recipient Types
Busha operates a multi-currency account system and accomodate recipients for each currency type. Currently, Busha supports the creation of recipients for:
-
Nigerian bank accounts
-
US bank accounts
-
UK bank accounts
-
M-Pesa mobile money (Kenya)
-
MTN Mobile Money
-
Cryptocurrency addresses
The recipient type is an important field in the request body object. Each recipient type have their unique fields outlined in the table below.
Type |
Category |
Description |
Required Fields |
---|---|---|---|
|
bank |
Nigerian bank account |
|
|
bank |
US bank account |
|
|
bank |
UK bank account |
|
|
mobile_money |
M-Pesa (Kenya) |
|
|
mobile_money |
MTN Mobile Money |
|
|
crypto |
Cryptocurrency wallet |
|
The recipient’s request body varies from type to type. That is, the request body for a Nigerian bank account ngn_bank
, will be different from that of a US bank account usd_bank
.
In the following sections, we will create a recipient for each type and outline the required fields for each.
Nigerian Bank Account
Nigerian bank account recipients require a bank_code
field. You can retrieve your bank’s code by sending a GET request to the /banks
endpoint":
$ curl -i -X GET https://api.sandbox.busha.so/v1/banks
The request body required to create a Nigerian bank account recipient is:
{
"currency": "NGN", // Recipient's bank currency
"country_code": "NG", // Recipient's country code
"type": "ngn_bank", // Recipient type
"bank_name": "OPAY", // Recipient's bank name
"bank_code": "100004", // Recipient's bank code
"account_number": "9000000000", // Recipient's account number
"account_name": "BUSHA DIGITAL TECHNOLOGY" // Recipient's account name
}
To create a recipient:
-
Open your terminal or command prompt.
-
Construct a
POST
request to the/v1/recipients
endpoint. -
In the request body, update the following fields with your recipient’s details:
-
bank_name
-
bank_code
-
account_number
-
account_name
-
-
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
with your actual details.
$ curl -i -X POST \
https://YOUR_BASE_URL/v1/recipients \
-H 'X-BU-VERSION: 2025-07-11' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"currency": "NGN",
"country_code": "NG",
"type": "ngn_bank",
"bank_name": "OPAY",
"bank_code": "100004",
"account_number": "9000000000",
"account_name": "BUSHA DIGITAL TECHNOLOGY"
}'
Expected Response:
Upon successful creation, the API will return a response containing the details of the newly created recipient, including its unique id
.
{
"status": "success",
"message": "Recipient created successfully",
"data": {
"id": "6877ac708725d76db48eebff",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"account_name": "BUSHA DIGITAL TECHNOLOGY",
"account_number": "9169277397",
"active": true,
"bank_code": "100004",
"bank_name": "OPAY",
"category": "bank",
"country_code": "NG",
"currency": "NGN",
"object": "recipients",
"owned_by_customer": true,
"type": "ngn_bank"
}
}
This id
is crucial and will be reused in several cases, especially when making a payout into that specific payment account, as demonstrated in the How to Make Payouts Guide.
US Bank Account (ACH)
The request body required to create a US bank account (usd_bank
) recipient with a transfer type ach
is:
{
"type": "usd_bank", // Recipient type
"entity_type": "personal", // Recipient entity type
"transfer_type": "ach", // Recipient transfer type, ach
"account_name": "Jane Smith", // Recipient account name
"bank_name": "Chase Bank", // Recipient bank name
"routing_number": "021000021", // Recipient routing number
"account_number": "9876543210" // Recipient account number
}
To create a recipient:
-
Open your terminal or command prompt.
-
Construct a
POST
request to the/v1/recipients
endpoint. -
In the request body, update the following fields with your recipient’s details:
-
entity_type
: This can bepersonal
orbusiness
depending on the recipient’s bank entity type. -
account_number
-
bank_name
-
routing_number
-
account_name
-
-
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
with your actual details.
$ curl -i -X POST \
https://YOUR_BASE_URL/v1/recipients \
-H 'X-BU-VERSION: 2025-07-11' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "usd_bank",
"entity_type": "personal",
"transfer_type": "ach",
"account_name": "Jane Smith",
"bank_name": "Chase Bank",
"routing_number": "021000021",
"account_number": "9876543210"
}'
Expected Response:
Upon successful creation, the API will return a response containing the details of the newly created recipient, including its unique id
.
{
"status": "success",
"message": "Recipient created successfully",
"data": {
"id": "6877afc18725d76db48eec02",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"account_name": "Jane Smith",
"account_number": "9876543210",
"active": true,
"bank_name": "Chase Bank",
"category": "bank",
"country_code": "US",
"currency": "USD",
"entity_type": "personal",
"object": "recipients",
"owned_by_customer": true,
"routing_number": "021000021",
"transfer_type": "ach",
"type": "usd_bank"
}
}
This id
is crucial and will be reused in several cases, especially when making a payout into that specific payment account, as demonstrated in the How to Make Payouts Guide.
US Bank Account (Wire)
The request body required to create a US bank account (usd_bank)
recipient with a transfer type wire
is:
{
"type": "usd_bank", // Recipient type
"entity_type": "business", // Recipient entity type
"transfer_type": "wire", // Recipient transfer type, wire
"account_name": "Tech Corp LLC", // Recipient's account name
"bank_name": "Bank of America", // Recipient's bank name
"routing_number": "026009593", // Recipients routing number
"account_number": "1122334455" // Recipient's account number
}
To create a recipient:
-
Open your terminal or command prompt.
-
Construct a
POST
request to the/v1/recipients
endpoint. -
In the request body, update the following fields with your recipient’s details:
-
entity_type
: This can bepersonal
orbusiness
depending on the recipient’s bank entity type. -
account_number
-
bank_name
-
routing_number
-
account_name
-
-
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
with your actual details.
$ curl -i -X POST \
https://YOUR_BASE_URL/v1/recipients \
-H 'X-BU-VERSION: 2025-07-11' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "usd_bank",
"entity_type": "business",
"transfer_type": "wire",
"account_name": "Tech Corp LLC",
"bank_name": "Bank of America",
"routing_number": "026009593",
"account_number": "1122334455"
}'
Expected Response:
Upon successful creation, the API will return a response containing the details of the newly created recipient, including its unique id
.
{
"status": "success",
"message": "Recipient created successfully",
"data": {
"id": "6877b0fc8725d76db48eec05",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"account_name": "Tech Corp LLC",
"account_number": "1122334455",
"active": true,
"bank_name": "Bank of America",
"category": "bank",
"country_code": "US",
"currency": "USD",
"entity_type": "business",
"object": "recipients",
"owned_by_customer": true,
"routing_number": "026009593",
"transfer_type": "wire",
"type": "usd_bank"
}
}
This id
is crucial and will be reused in several cases, especially when making a payout into that specific payment account, as demonstrated in the How to Make Payouts Guide.
US bank account (SWIFT)
The request body required to create a US bank account (usd_bank
) recipient with a transfer type of swift
is:
{
"type": "usd_bank", // Recipient type
"entity_type": "business", // Recipient entity type
"transfer_type": "swift", // Recipient transfer type, swift
"account_name": "Global Corp Ltd", // Recipient's account name
"iban": "GB29NWBK60161331926819", // Recipient's IBAN
"swift_code": "CHASUS33XXX", // Recipient's SWIFT code
"bank_name": "Bank of International Transfers", // Recipient's bank name
"recipient_address": "123 Hauptstrasse, Berlin, 10115, Germany", // Recipient's address
"intermediary_bank_name": "Intermediary Global Bank", // Recipient's intermediary bank name
"intermediary_bank_address": "456 Avenue of Banks, Zurich", // Recipient's intermediary bank address
"intermediary_swift_code": "CHASUS33XXX" // Recipient's intermediary swift code
}'
To create a recipient:
-
Open your terminal or command prompt.
-
Construct a
POST
request to the/v1/recipients
endpoint. -
In the request body, update the following fields with your recipient’s details:
-
entity_type
: This can bepersonal
orbusiness
depending on the recipient’s bank entity type. -
account_name
-
iban
-
swift_code
-
bank_name
-
recipient_address
-
intermediary_bank_name
-
intermediary_bank_address
-
intermediary_swift_code
-
-
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
with your actual details.
$ curl -i -X POST \
https://YOUR_BASE_URL/v1/recipients \
-H 'X-BU-VERSION: 2025-07-11' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "usd_bank",
"entity_type": "business",
"transfer_type": "swift",
"account_name": "Global Corp Ltd",
"iban": "GB29NWBK60161331926819",
"swift_code": "CHASUS33XXX",
"bank_name": "Bank of International Transfers",
"recipient_address": "123 Hauptstrasse, Berlin, 10115, Germany",
"intermediary_bank_name": "Intermediary Global Bank",
"intermediary_bank_address": "456 Avenue of Banks, Zurich",
"intermediary_swift_code": "CHASUS33XXX"
}'
Expected Response:
Upon successful creation, the API will return a response containing the details of the newly created recipient, including its unique id
.
{
"status": "success",
"message": "Recipient created successfully",
"data": {
"id": "6877bd038725d76db48eec0f",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"account_name": "Global Corp Ltd",
"active": true,
"bank_name": "Bank of International Transfers",
"category": "bank",
"country_code": "US",
"currency": "USD",
"entity_type": "business",
"iban": "GB29NWBK60161331926818",
"intermediary_bank_address": "456 Avenue of Banks, Zurich",
"intermediary_bank_name": "Intermediary Global Bank",
"intermediary_swift_code": "CHASUS33XXX",
"object": "recipients",
"owned_by_customer": true,
"recipient_address": "123 Hauptstrasse, Berlin, 10115, Germany",
"swift_code": "CHASUS33XXX",
"transfer_type": "swift",
"type": "usd_bank"
}
}
This id
is crucial and will be reused in several cases, especially when making a payout into that specific payment account, as demonstrated in the How to Make Payouts Guide.
MPESA Mobile Money
The request body required to create a MPESA Mobile Money recipient:
{
"currency_id": "KES", // Currency ID
"country_id": "KE", // Country ID, Kentya
"type": "mpesa_mobile_money", // Recipient type
"phone_number": "254712345678", // Recipient's phone number (Mobile money ID)
"account_name": "Samuel Kiprotich" // Recipient's account name
}
To create a recipient:
-
Open your terminal or command prompt.
-
Construct a
POST
request to the/v1/recipients
endpoint. -
In the request body, update the following fields with your recipient’s details:
-
phone_number
: A valid mobile money registered phone number -
account_name
-
-
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
with your actual details.
$ curl -i -X POST \
https://YOUR_BASE_URL/v1/recipients \
-H 'X-BU-VERSION: 2025-07-11' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"currency_id": "KES",
"country_id": "KE",
"type": "mpesa_mobile_money",
"phone_number": "254712345678",
"account_name": "Samuel Kiprotich"
}'
Expected Response:
Upon successful creation, the API will return a response containing the details of the newly created recipient, including its unique id
.
{
"status": "success",
"message": "Recipient created successfully",
"data": {
"id": "6877e78e985bb54f0f2f9541",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"account_name": "Samuel Kiprotich",
"active": true,
"category": "mpesa",
"country_code": "KE",
"currency": "KES",
"object": "recipients",
"owned_by_customer": true,
"phone_number": "254712345678",
"type": "mpesa_mobile_money"
}
}
This id
is crucial and will be reused in several cases, especially when making a payout into that specific payment account, as demonstrated in the How to Make Payouts Guide.
Bitcoin
The request body required to create a cryptocurrency recipient on the Bitcoin network:
{
"type": "crypto", // Recipient type
"account_name": "Coco", // Recipient account name
"network": "BTC", // Recipient network
"address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh" // Recipient Bitcoin address
}
To create a recipient:
-
Open your terminal or command prompt.
-
Construct a
POST
request to the/v1/recipients
endpoint. -
In the request body, update the following fields with your recipient’s details:
-
account_name
: The name to identify the Bitcoin address stored. -
address
-
-
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
with your actual details.
$ curl -i -X POST \
https://YOUR_BASE_URL/v1/recipients \
-H 'X-BU-VERSION: 2025-07-11' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "crypto",
"account_name": "Coco",
"network": "BTC",
"address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"
}'
Expected Response:
Upon successful creation, the API will return a response containing the details of the newly created recipient, including its unique id
.
{
"status": "success",
"message": "Recipient created successfully",
"data": {
"id": "6877bbf68725d76db48eec0d",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"active": true,
"address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlw",
"category": "crypto",
"network": "BTC",
"object": "recipients",
"owned_by_customer": false,
"type": "crypto"
}
}
This id
is crucial and will be reused in several cases, especially when making a payout into that specific payment account, as demonstrated in the How to Make Payouts Guide.
USDT (ETH)
The request body required to create a cryptocurrency recipient (USDT) on the Ethereum network:
{
"type": "crypto", // Recipient type
"account_name": "Coco", // Recipient account name
"network": "ETH", // Recipient network
"address": "0x742d35Cc6543C4532f5D2b8d9a2b2A1234567881" // Recipient address
}
To create a recipient:
-
Open your terminal or command prompt.
-
Construct a
POST
request to the/v1/recipients
endpoint. -
In the request body, update the following fields with your recipient’s details:
-
account_name
: The name to identify the USDT address stored. -
address
-
-
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
with your actual details.
$ curl -i -X POST \
https://YOUR_BASE_URL/v1/recipients \
-H 'X-BU-VERSION: 2025-07-11' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "crypto",
"account_name": "Coco",
"network": "ETH",
"address": "0x742d35Cc6543C4532f5D2b8d9a2b2A1234567881"
}'
Expected Response:
Upon successful creation, the API will return a response containing the details of the newly created recipient, including its unique id
.
{
"status": "success",
"message": "Recipient created successfully",
"data": {
"id": "6877ec5c985bb54f0f2f9543",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"active": true,
"address": "0x742d35Cc6543C4532f5D2b8d9a2b2A1234567881",
"category": "crypto",
"network": "ETH",
"object": "recipients",
"owned_by_customer": true,
"type": "crypto"
}
}
This id
is crucial and will be reused in several cases, especially when making a payout into that specific payment account, as demonstrated in the How to Make Payouts Guide.
STELLAR LUMENS
The request body required to create a cryptocurrency recipient on the XLM
network:
{
"type": "crypto", // Recipient type
"account_name": "My Stellar Wallet", // Recipient'd account name
"network": "XLM", // Recipient's network, XLM
"address": "GAHK7EEG2WWHVKDNT4CEQFZGKF2LGDSW2IVM4S5DP42RBW3K6BTODB4A", // Recipient's address
"memo": "123456789" // Recipient's memo
}
To create a recipient:
-
Open your terminal or command prompt.
-
Construct a
POST
request to the/v1/recipients
endpoint. -
In the request body, update the following fields with your recipient’s details:
-
account name
: The identifier for the recipient details. -
address
-
memo
-
-
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
with your actual details.
$ curl -i -X POST \
https://YOUR_BASE_URL/v1/recipients \
-H 'X-BU-VERSION: 2025-07-11' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "crypto",
"account_name": "My Stellar Wallet",
"network": "XLM",
"address": "GAHK7EEG2WWHVKDNT4CEQFZGKF2LGDSW2IVM4S5DP42RBW3K6BTODB4A",
"memo": "123456789"
}'
Expected Response:
Upon successful creation, the API will return a response containing the details of the newly created recipient, including its unique id
.
{
"status": "success",
"message": "Recipient created successfully",
"data": {
"id": "6877b18e8725d76db48eec0a",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"active": true,
"address": "GAHK7EEG2WWHVKDNT4CEQFZGKF2LGDSW2IVM4S5DP42RBW3K6BTODB4A",
"category": "crypto",
"memo": "123456789",
"network": "XLM",
"object": "recipients",
"owned_by_customer": true,
"type": "crypto"
}
}
This id
is crucial and will be reused in several cases, especially when making a payout into that specific payment account, as demonstrated in the How to Make Payouts Guide.
Retrieve and List Recipients
After creating recipients, you'll often need to retrieve their details or get a list of all recipients associated with your profile. This allows you to manage your payout destinations and ensure you're using the correct recipient_id
for transactions.
Retrieve a Specific Recipient
You can fetch the details of a single recipient if you know its unique id
.
To retrieve a specific recipient:
-
Open your terminal or command prompt.
-
Construct a
GET
request to the/v1/recipients/{id}
endpoint, replacing{id}
with the actual recipient ID. -
Ensure your
Authorization
andYOUR_SECRET_TOKEN
headers are included. -
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
.
$ curl -i -X GET \
'https://api.busha.co/v1/recipients/{id}' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN'
Expected Response:
A successful response will return a single recipient object, identical in structure to the one received during creation, containing all its details.
{
"status": "success",
"message": "Recipient retrieved successfully",
"data": {
"id": "6877afc18725d76db48eec02",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"user_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"active": true,
"country_id": "US",
"created_at": "2025-07-16T13:57:21.150561Z",
"fields": [
{
"display_name": "currency",
"is_copyable": true,
"is_visible": false,
"name": "currency",
"required": false,
"value": "USD"
},
{
"display_name": "bank_name",
"is_copyable": true,
"is_visible": true,
"name": "bank_name",
"required": true,
"value": "Chase Bank"
},
{
"display_name": "entity_type",
"is_copyable": true,
"is_visible": true,
"name": "entity_type",
"required": true,
"value": "personal"
},
{
"display_name": "account_name",
"is_copyable": true,
"is_visible": true,
"name": "account_name",
"required": true,
"value": "Jane Smith"
},
{
"display_name": "country_code",
"is_copyable": true,
"is_visible": false,
"name": "country_code",
"required": false,
"value": "US"
},
{
"display_name": "transfer_type",
"is_copyable": true,
"is_visible": true,
"name": "transfer_type",
"required": true,
"value": "ach"
},
{
"display_name": "account_number",
"is_copyable": true,
"is_visible": true,
"name": "account_number",
"required": false,
"value": "9876543210"
},
{
"display_name": "routing_number",
"is_copyable": true,
"is_visible": true,
"name": "routing_number",
"required": false,
"value": "021000021"
}
],
"legal_entity_type": "personal",
"object": "recipients",
"owned_by_customer": true,
"type": "usd_bank",
"updated_at": "2025-07-16T13:57:21.150561Z",
"currency_id": "USD"
}
}
List All Recipients
To get an overview of all the recipients you have created, you can make a GET
request to the /v1/recipients
endpoint without specifying an ID.
To list all recipients:
-
Open your terminal or command prompt.
-
Construct a
GET
request to the/v1/recipients
endpoint. -
Ensure your
Authorization
header is included. -
Replace placeholders like
YOUR_BASE_URL
andYOUR_SECRET_TOKEN
.
$ curl -i -X GET 'https://YOUR_BASE_URL/v1/recipients' \
-H 'Authorization: Bearer YOUR_SECRET_TOKEN'
Expected Response:
A successful response will return a list (an array) of all recipient objects associated with your profile. This allows you to programmatically manage your available payout destinations.
{
"status": "success",
"message": "Recipients retrieved successfully",
"pagination": {
"current_entries_size": 10,
"next_cursor": "eyJhbmNob3IiOiIyMDI1LTA3LTE2VDEzOjU3OjIxLjE1MDU2MVoiLCJhbmNob3JfaWQiOiJjcmVhdGVkX2F0Iiwic2Vjb25kYXJ5X2FuY2hvcl9pZCI6ImlkIiwiZGlyZWN0aW9uIjoibmV4dCIsInBvc2l0aW9uIjowLCJzb3J0X29yZGVyIjoiZGVzYyIsImxpbWl0IjoxMH0="
},
"data": [
{
"id": "6877ec5c985bb54f0f2f9543",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"user_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"active": true,
"created_at": "2025-07-16T18:15:56.073128Z",
"fields": [
{
"display_name": "address",
"is_copyable": true,
"is_visible": true,
"name": "address",
"required": true,
"value": "0x742d35Cc6543C4532f5D2b8d9a2b2A1234567881"
},
{
"display_name": "network",
"is_copyable": true,
"is_visible": true,
"name": "network",
"required": true,
"value": "ETH"
}
],
"legal_entity_type": "personal",
"object": "recipients",
"owned_by_customer": true,
"type": "crypto",
"updated_at": "2025-07-16T18:15:56.073128Z"
},
{
"id": "6877e78e985bb54f0f2f9541",
"profile_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"user_id": "BUS_jlKUYwF9z1ynQZ98bWbaP",
"active": true,
"country_id": "KE",
"created_at": "2025-07-16T17:55:26.935875Z",
"fields": [
{
"display_name": "currency",
"is_copyable": true,
"is_visible": false,
"name": "currency",
"required": false,
"value": "KES"
},
{
"display_name": "account_name",
"is_copyable": true,
"is_visible": true,
"name": "account_name",
"required": true,
"value": "Samuel Kiprotich"
},
{
"display_name": "country_code",
"is_copyable": true,
"is_visible": false,
"name": "country_code",
"required": false,
"value": "KE"
},
{
"display_name": "phone_number",
"is_copyable": true,
"is_visible": true,
"name": "phone_number",
"required": true,
"value": "254712345678"
}
],
"legal_entity_type": "personal",
"object": "recipients",
"owned_by_customer": true,
"type": "mpesa_mobile_money",
"updated_at": "2025-07-16T17:55:26.935875Z",
"currency_id": "KES"
},
...
}
What’s Next?
Now that you know how to create, retrieve, and list recipients, you can use them in your transaction flows:
-
Recipients API Reference: For full details on all available fields and endpoints.