Skip to main content
POST
/
beneficiaries
Create a beneficiary
curl --request POST \
  --url https://api.pcxpay.com/v1/beneficiaries \
  --header 'Content-Type: application/json' \
  --data '
{
  "account_type": "bank",
  "country": "NG",
  "currency": "NGN",
  "fname": "<string>",
  "lname": "<string>",
  "beneficiary_of": "<string>",
  "beneficiary_type": "loan_client",
  "email": "jsmith@example.com",
  "phone_number": "<string>",
  "momo_details": {
    "network": "MTN",
    "phone_number": "+2348012345678"
  },
  "bank_details": {
    "bank_name": "Zenith Bank",
    "account_number": "1234567890",
    "account_name": "John Doe",
    "bank_code": "057"
  },
  "loan_client_details": {},
  "external_account_id": "<string>",
  "org_id": "<string>"
}
'
{
  "beneficiary_id": "<string>",
  "account_type": "bank",
  "beneficiary_of": "<string>",
  "beneficiary_type": "loan_client",
  "country": "<string>",
  "currency": "<string>",
  "fname": "<string>",
  "lname": "<string>",
  "email": "<string>",
  "phone_number": "<string>",
  "momo_details": {},
  "bank_details": {},
  "loan_client_details": {},
  "external_account_id": "<string>",
  "created_at": "<string>",
  "updated_at": "<string>"
}

Headers

X-User-Id
string

ID of the authenticated user making the request. Used for ownership checks and to populate beneficiary_of on creation.

Body

application/json
account_type
enum<string>
required
Available options:
bank,
momo
country
string
required

ISO 3166-1 alpha-2 country code (e.g. NG, GH, GB).

Example:

"NG"

currency
string
required

ISO 4217 currency code. Must match the expected currency for the given country (e.g. NG → NGN, GH → GHS, GB → GBP or EUR).

Example:

"NGN"

fname
string
required
lname
string
required
beneficiary_of
string

ID of the user this beneficiary belongs to. Defaults to the X-User-Id header value if not provided.

beneficiary_type
enum<string>
Available options:
loan_client,
payout_recipient
email
string<email>
phone_number
string
momo_details
object

Mobile money account details. Required when account_type is momo. Shape is provider-specific.

Example:
{
"network": "MTN",
"phone_number": "+2348012345678"
}
bank_details
object

Bank account details. Optional even when account_type is bank.

Example:
{
"bank_name": "Zenith Bank",
"account_number": "1234567890",
"account_name": "John Doe",
"bank_code": "057"
}
loan_client_details
object

Additional metadata for loan_client beneficiary types.

external_account_id
string

ID of the corresponding account in an external system (e.g. Bridge).

org_id
string

Organisation ID. Used when creating a beneficiary on behalf of an organisation (e.g. for a loan-client disbursement workflow).

Response

Beneficiary created

beneficiary_id
string
account_type
enum<string>
Available options:
bank,
momo
beneficiary_of
string

ID of the user who owns this beneficiary.

beneficiary_type
enum<string>
Available options:
loan_client,
payout_recipient
country
string
currency
string
fname
string
lname
string
email
string | null
phone_number
string | null
momo_details
object
bank_details
object
loan_client_details
object
external_account_id
string | null
created_at
string

ISO 8601 datetime.

updated_at
string

ISO 8601 datetime.