Endpoints for loading your merchant account, branches, wallet, and pricing.

Account & Setup

Account & Setup

Bootstrap

The recommended first call when your app starts. Returns everything you need in a single request.

GET /api/v1/bootstrap

Response:

{
  "account": {
    "id": "cmq9ynk9r0002pm8o5k2avraq",
    "sellerId": "M001",
    "sellerName": "My Restaurant",
    "billingMode": "PREPAID",
    "walletBalance": "10.000",
    "phone": "99887766",
    "pickupAddress": "Ahmed Al-Jaber St, SHARQ",
    "pickupLatitude": 29.3764,
    "pickupLongitude": 47.9785,
    "scheduledDeliveryEnabled": true,
    "apiEnabled": true
  },
  "wallet": {
    "balance": "10.000",
    "billingMode": "PREPAID"
  },
  "branches": [ ... ],
  "pricing": { ... },
  "scheduledDelivery": { ... }
}

๐Ÿ’ก Tip

Use the bootstrap endpoint at app startup rather than calling account, branches, wallet, and pricing separately. It saves three round trips.


Get Account

GET /api/v1/account

Returns the merchant profile.

{
  "account": {
    "id": "...",
    "sellerId": "M001",
    "sellerName": "My Restaurant",
    "billingMode": "PREPAID",
    "walletBalance": "10.000"
  }
}

List Branches

Returns your pickup branches. Also saves the default branch ID and coordinates to your Postman environment automatically if you use the collection.

GET /api/v1/branches
{
  "branches": [
    {
      "id": "cmqaz4aj80005488og6wbhgdt",
      "name": "Main Branch",
      "phone": "99887766",
      "latitude": 29.3764,
      "longitude": 47.9785,
      "addressLabel": "Main Branch โ€” Ahmed Al-Jaber St, SHARQ",
      "governorate": "Capital",
      "area": "SHARQ",
      "isDefault": true
    }
  ]
}

๐Ÿ“ Branch ID is optional

You can pass pickupLatitude / pickupLongitude directly when creating a delivery. branchId is optional and ignored if invalid for API-sourced bookings.


Get Wallet

GET /api/v1/wallet

Returns balance, billing mode, and recent transactions.

{
  "balance": "10.000",
  "billingMode": "PREPAID",
  "transactions": [
    {
      "id": "...",
      "type": "DEBIT",
      "amount": "2.500",
      "balanceAfter": "7.500",
      "reference": "FLH4001",
      "note": "Delivery fee for FLH4001",
      "createdAt": "2026-06-14T01:33:29.698Z"
    }
  ]
}

Get Pricing Tiers

GET /api/v1/pricing

Returns the distance-based pricing configuration used for on-demand quotes.

{
  "useCustomTiers": true,
  "effectiveConfig": {
    "tiers": [
      { "maxKm": 10, "priceKwd": 1.25, "label": "Up to 10 km" },
      { "maxKm": 15, "priceKwd": 1.75, "label": "Up to 15 km" },
      { "maxKm": 25, "priceKwd": 2.25, "label": "Up to 25 km" },
      { "maxKm": 40, "priceKwd": 3.00, "label": "Up to 40 km" }
    ],
    "extraKmRateKwd": 0.1,
    "extraKmAfter": 40,
    "specialZones": [
      {
        "id": "wafra-khiran",
        "name": "Al Wafra / Al Khiran",
        "priceKwd": 5
      }
    ]
  }
}