POST
/
wallets
/
add
curl --request POST \
  --url https://waas-staging.embedly.ng/api/v1/wallets/add \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "id": "<string>",
  "walletGroupId": "<string>",
  "customerId": "<string>",
  "availableBalance": 123,
  "ledgerBalance": 123,
  "walletRestrictionId": "<string>",
  "walletClassificationId": "<string>",
  "currencyId": "<string>",
  "isInternal": true,
  "isDefault": true,
  "name": "<string>",
  "overdraft": 123,
  "virtualAccount": {},
  "mobNum": "<string>",
  "customerTypeId": "<string>"
}'
{
	"message": "Wallet created successfully.",
	"walletId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
	"virtualAccount": {
		"accountNumber": "9710000498",
		"bankCode": "232",
		"bankName": "Sterling"
	},
	"mobNum": "2345678880"
}

To improve performance on your system, the upon successful creation of a wallet in favour of a customer, the returned walletId, accountNumber and bankCode should be stored in your database

Request Body

id
string

Your Unique identifier for the wallet. (Must be a UUID) Example: “3fa85f64-5717-4562-b3fc-2c963f66afa6”

walletGroupId
string

The ID of the wallet group this wallet belongs to. (Must be a UUID) Example: “3fa85f64-5717-4562-b3fc-2c963f66afa6”. This is an optional field

customerId
string
required

The ID of the customer who owns this wallet. (Must be a UUID) Example: “3fa85f64-5717-4562-b3fc-2c963f66afa6”

availableBalance
number

The balance available for transactions. Example: 0

ledgerBalance
number

The total balance including pending transactions. Example: 0

walletRestrictionId
string

ID referencing wallet restrictions. (Must be a UUID) Example: “3fa85f64-5717-4562-b3fc-2c963f66afa6” This is an optional field, the value should be gotten from the get wallet restrictions endpoint in the wallet utils section

walletClassificationId
string

ID referencing wallet classification. (Must be a UUID) Example: “3fa85f64-5717-4562-b3fc-2c963f66afa6” The value should be gotten from the get wallet classification endpoint in the wallet utils section

currencyId
string
required

ID of the currency for this wallet. (Must be a UUID) Example: “3fa85f64-5717-4562-b3fc-2c963f66afa6” The value should be gotten from the get currency endpoint in the wallet utils section

isInternal
boolean

Whether this is an internal wallet. Example: true

isDefault
boolean

Whether this is the default wallet for the customer. Example: true

name
string

Name of the wallet or wallet owner. Example: “Emmanuel Emah” This is an optional field

overdraft
number

Available overdraft amount, if any. Example: 0 This is an optional field

virtualAccount
object

Virtual account details associated with the wallet. This is an optional field

mobNum
string

Mobile number associated with the wallet. Example: “2345678880” This is an optional field

customerTypeId
string

ID referencing the customer type. (Must be a UUID) Example: “3fa85f64-5717-4562-b3fc-2c963f66afa6”

{
	"message": "Wallet created successfully.",
	"walletId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
	"virtualAccount": {
		"accountNumber": "9710000498",
		"bankCode": "232",
		"bankName": "Sterling"
	},
	"mobNum": "2345678880"
}