curl --location --request POST '{{API_BASE_URL}}/virtual-accounts' \
--header 'x-giro-key: {{SECRET_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
    "accountName": "John Doe",
    "category": "primary",
    "currency": "NGN"
}'
{
  "meta": {
    "statusCode": 201,
    "success": true,
    "message": "VirtualAccount successfully created"
  },
  "data": {
    "publicId": "vba-19aeceea-1bd6-4e85-89fa-2ca0b1c57d61",
    "auth": "65b12bbf512f9932b67f53d7",
    "account": "65b12bbf36e38c6bfbe35f95",
    "accountName": "John Doe",
    "accountNumber": "7481018744",
    "bankName": "Source MFB",
    "bankCode": "090641",
    "live": true,
    "isFavourite": true,
    "processor": "source",
    "category": "primary",
    "id": 1,
    "createdAt": "2024-04-20T19:50:16.880Z",
    "updatedAt": "2024-04-20T19:50:16.880Z",
    "balance": 0,
    "currency": "NGN",
    "lastUpdated": "2024-04-20T19:50:16.880Z"
  }
}
On Giro, there are two types of wallets: Primary and Secondary. Primary wallets are designed specifically for your personal use. Secondary wallets, on the other hand, are created to assign to your users, customers, or yourself if needed. You can have up to five primary wallets at any time. However, secondary wallets have no current creation limit. This gives you flexibility in managing both personal and customer transactions efficiently. POST {{baseurl}}/virtual-accounts
https://gw.stg.girostack.com/v1

Headers

x-giro-key
string
required
Pass your account’s secret key as the value.
emailAddress and mobile are only required to create Secondary wallets.

Body Params

accountName
string
required
category
string
required
category can either be primary or secondary
currency
string
required
Value should be NGN
emailAddress
string
required
Value should be a valid email address
mobile
object
required
The mobile number of the customer
 {
        "phoneNumber": "08142351599",
        "isoCode": "NG"
}
curl --location --request POST '{{API_BASE_URL}}/virtual-accounts' \
--header 'x-giro-key: {{SECRET_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
    "accountName": "John Doe",
    "category": "primary",
    "currency": "NGN"
}'
{
  "meta": {
    "statusCode": 201,
    "success": true,
    "message": "VirtualAccount successfully created"
  },
  "data": {
    "publicId": "vba-19aeceea-1bd6-4e85-89fa-2ca0b1c57d61",
    "auth": "65b12bbf512f9932b67f53d7",
    "account": "65b12bbf36e38c6bfbe35f95",
    "accountName": "John Doe",
    "accountNumber": "7481018744",
    "bankName": "Source MFB",
    "bankCode": "090641",
    "live": true,
    "isFavourite": true,
    "processor": "source",
    "category": "primary",
    "id": 1,
    "createdAt": "2024-04-20T19:50:16.880Z",
    "updatedAt": "2024-04-20T19:50:16.880Z",
    "balance": 0,
    "currency": "NGN",
    "lastUpdated": "2024-04-20T19:50:16.880Z"
  }
}