BWM XMD APIS

Resell BWM XMD services programmatically. Social media boosting, bot deployment, panel and VPS provisioning. One API key, live dashboard prices, XD wallet billing.

Live pricing
Auto-synced from your dashboard.
XD wallet
Every call debits XD in real time.
Reseller ready
All responses branded BWM XMD.

My API key

Where to get your key, the base URL and how to authenticate.

Get your API key in your dashboard
For security, keys are created and managed only after you sign in, on the API key page of your dashboard.
Base URL
https://pro.bwmxmd.co.ke/api/v1
text
Authentication

Send your key on every request via one of:

Authorization: Bearer bwm_live_xxxxxxxxxxxxxxxx
x-api-key: bwm_live_xxxxxxxxxxxxxxxx
http

Billing model

Every successful action (order, deploy, provision) debits XD from your BWM XMD wallet at the same live price shown in the dashboard. Read-only calls are free.

If your balance is zero or below the price, the API returns 402 Insufficient XD balance and no order is placed.

If we charge you but downstream provisioning fails, the XD is automatically refunded.

Every response includes balance_after and charged_xd so you can show a live balance to your own users.

Endpoints

All endpoints return JSON with success and either data or error.

How to use the Account endpoints

Start here. Before you sell anything, make sure your API key works and your XD wallet has money.

Step 1: Top up your XD wallet

Every paid API call debits XD from your BWM XMD wallet at live dashboard prices. Read only (GET) calls are free. Top up in your dashboard before you start selling.

Step 2: Generate and save your API key

Sign in, open API key in your dashboard (/api-key) and click Generate API key. Copy it once, it will never be shown again. Store it as a secret on your server, never in front end code.

Step 3: Send the key on every request
Authorization: Bearer bwm_live_xxxxxxxxxxxxxxxx
x-api-key: bwm_live_xxxxxxxxxxxxxxxx
http
Step 4: Your first call: check the balance

If this works, everything is wired correctly.

curl "https://pro.bwmxmd.co.ke/api/v1/account/balance" \
  -H "Authorization: Bearer <YOUR_API_KEY>"
curl
{
  "success": true,
  "data": { "username": "reseller01", "wallet_balance_xd": 1250, "currency": "XD" }
}
json
Step 5: Show a history page to your users

Use GET /account/orders to fetch your last 200 API calls with status codes and XD charged. Perfect for an audit log inside your reseller panel.

GET
/account/balance
Free

Check your XD wallet balance and how many API calls you have made. Add ?currency=USD (or KES, TZS, UGX, GHS, USD) - or set a preferred currency on your profile - to also receive the balance in your local currency.

curl "https://pro.bwmxmd.co.ke/api/v1/account/balance" \
  -H "Authorization: Bearer <YOUR_API_KEY>"
curl
Sample response
{
  "success": true,
  "data": {
    "username": "reseller01",
    "wallet_balance_xd": 1250,
    "referral_balance_xd": 50,
    "currency": "XD",
    "local_currency": "USD",
    "local_country": "Nigeria",
    "local_symbol": "$",
    "wallet_balance_local": 21406.7,
    "referral_balance_local": 856.27,
    "api_usage": {
      "total_requests": 87,
      "last_used_at": "2026-07-06T10:15:00Z"
    }
  },
  "balance_after": 1225,
  "charged_xd": 25
}
json
GET
/account/orders
Free

List of your last 200 API calls with status codes and XD charged. Useful for building an audit page on your reseller site.

curl "https://pro.bwmxmd.co.ke/api/v1/account/orders" \
  -H "Authorization: Bearer <YOUR_API_KEY>"
curl
Sample response
{
  "success": true,
  "data": {
    "orders": [
      {
        "endpoint": "/services/order",
        "method": "POST",
        "status_code": 200,
        "xd_charged": 25,
        "created_at": "2026-07-06T10:15:00Z"
      }
    ]
  },
  "balance_after": 1225,
  "charged_xd": 25
}
json

Response codes

CodeNameMeaning
200OKSuccess
400Bad RequestMissing or invalid parameters
401UnauthorizedMissing or invalid API key
402Payment RequiredInsufficient XD balance in your wallet
403ForbiddenKey disabled or account blocked
404Not FoundEndpoint or resource does not exist
500Server ErrorUnexpected error, please retry
502Upstream FailedOrder failed downstream. Your XD was refunded automatically.