Skip to content
Loading keys…
Authorization<token>

A public key (pk./pk_test.) is accepted on /payments, /customers, /links, /invoices and the catalogue reads (/channels, /providers, /countries, /currencies); anything that moves money out, reads the balance or manages the account answers 406 to it. It is an identifier, never an authorization. Use a secret key (sk./sk_test.) for sensitive operations (transfers, refunds, balance), or a restricted key (rk./rk_test.) scoped to specific permissions. The _test. variant of any key selects the sandbox environment, there is no separate sandbox URL. Never expose your secret key in client-side code.

In: header

Header Parameters

Idempotency-Keystring

Your key for this request, 1 to 128 characters of letters, digits and `. _ : -`. The same request sent again with the same key returns the first answer instead of doing the work twice. See [Idempotency](/api/idempotency).

Request Body

application/json

type"individual" | "business"

Profile type: `individual` (default) or `business`.

"individual""business"
emailstring | null

Email address. Required if `phone` is not provided.

phonestring | null

Phone number. Required if `email` is not provided.

phone_countrystring | null

Two-letter country code the phone number is read in when it is written without its international prefix.

namestring | null

Full name. `first_name` and `last_name` are refused: send the full name here.

company_namestring | null

Accepted for older integrations: copied into `business_name` when that one is not sent.

first_namestring

Refused: send the full name in `name`.

last_namestring

Refused: send the full name in `name`.

date_of_birthstring | null

Individuals only: the date of birth, `YYYY-MM-DD`, before today.

gender"male" | "female" | "other"

Individuals only.

"male""female""other"
business_namestring | null

Businesses only: the registered name. Required when `type` is `business`.

business_typestring | null

Businesses only: the legal form or line of business, as you record it.

business_registration_numberstring | null

Businesses only: the trade register number.

tax_idstring | null

Businesses only: a tax number kept on the profile. The tax ids Tax checks are added with `POST /customers/{id}/tax_ids`.

legal_representative_namestring | null

Businesses only: who signs for the business.

legal_representative_titlestring | null

Businesses only: their title.

descriptionstring | null

Your description of the customer, up to 1 000 characters.

notesstring | null

Your internal notes.

currencystring | null

Preferred currency, ISO 4217.

addressobject | null

The primary shipping address.

countrystring | null

Two-letter country code.

citystring | null

City.

address_line1string | null

Street and number.

statestring | null

State or region.

postal_codestring | null

Postal code, where the country has them.

address_line2string | null

Building, floor or landmark.

billingobject | null

The primary billing address, with the same fields as `address`.

countrystring | null

Two-letter country code.

citystring | null

City.

address_line1string | null

Street and number.

statestring | null

State or region.

postal_codestring | null

Postal code, where the country has them.

address_line2string | null

Building, floor or landmark.

preferred_languagestring | null

The customer's language, `fr` or `en`: invoices sent to them are written in it.

preferred_currenciesarray<string>

ISO 4217 codes.

preferred_localesarray<string>

Locales such as `fr` or `en`.

customer_groupstring | null

A group name of your own, to filter the list with `customer_group`.

tagsarray<string>

Your labels, up to 50 characters each.

metadataobject | null

Free-form key-value data.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://api.wajub.com/customers" \  -H "Idempotency-Key: customer-amina-diallo" \  -H "Content-Type: application/json" \  -d '{}'
POST
/customers
{  "code": 200,  "status": "OK",  "message": "Customer already exists for this merchant",  "customer": {    "id": "cus_Qe7Tb2Wn5Lr9Xc4Mv8Hk1Zs3",    "email": "amina@example.com",    "name": "Amina Diallo",    "status": "active"  }}

OK

What did you think of this content?