API Reference
Integrate BOMEO into your stack with the REST API, TypeScript SDK, Python SDK, or WooCommerce plugin.
Overview
The BOMEO API is organized around REST. All requests and responses use JSON. Monetary values are in minor currency units (e.g. kobo for NGN, cents for USD). Currency is resolved from your tenant configuration.
https://api.bomeo.xyz/v1Authentication
Authenticate by including your API key in the Authorization header. Generate keys from Settings → Integrations in the BOMEO dashboard.
Authorization: Bearer YOUR_API_KEYAPI keys are scoped per tenant. Keep them secret; rotate if compromised.
Response Format
Every response follows a consistent envelope. Check ok for success, read data for the payload, and use meta.pagination for cursor-based paging.
{
"ok": true,
"data": { ... },
"meta": {
"apiVersion": "v1",
"pagination": {
"total": 42,
"limit": 25,
"hasMore": true,
"nextCursor": "eyJ..."
}
}
}Endpoints
All endpoints live under /api/v1.
GET/productsList products with search, pagination, and filters
GET/products/:idGet a single product with variants and stock levels
GET/ordersList orders by status, date range, and customer
POST/ordersCreate a new order with line items
GET/customersList customers with filtering and pagination
GET/customers/:idGet customer details and purchase history
GET/inventory/stock-levelsCheck stock levels by branch and product
GET/inventory/movementsTrack stock movements: receives, transfers, adjustments
Public IDs
All entities use human-readable prefixed IDs for easy debugging and correlation across systems.
| Prefix | Entity |
|---|---|
prod_ | Products |
pvar_ | Variants |
ordr_ | Orders |
cust_ | Customers |
Quick Start
Install an SDK and make your first API call.
npm install bomeo-sdkimport { BomeoClient } from "bomeo-sdk";
const bomeo = new BomeoClient({
apiKey: process.env.BOMEO_API_KEY!,
baseUrl: "https://api.bomeo.xyz/v1",
});
// List products
const { data, pagination } = await bomeo.products.list({
limit: 25,
search: "catfish",
});
// Create an order
const order = await bomeo.orders.create({
subtotal: 450000,
total: 450000,
lines: [
{ productId: "prod_abc", quantity: 3, unitPrice: 150000 },
],
});SDKs & Libraries
First-party SDKs that mirror the REST API.
TypeScript SDK
TypeScript / Node.js
Full type-safety with auto-complete for every endpoint. Ships ESM + CJS.
npm install bomeo-sdkPython SDK
Python 3.9+
httpx-based with sync and async support. Typed dataclasses for all responses.
pip install bomeo-sdkWooCommerce Plugin
PHP / WordPress
WordPress plugin for one-click product sync, order push, and inventory bridge.
Upload via WP Admin → PluginsIntegration Guides
Step-by-step guides for connecting your e-commerce platform.