Skip to main content

Developer API Overview

Admin

The Brother POS Developer API lets external systems read and write data from your store using simple REST endpoints. Use it to build custom dashboards, sync inventory with other platforms, automate loyalty workflows, or receive real-time event notifications via webhooks.


What You Can Do

CapabilityDescription
Read productsFetch your full catalog with prices, stock levels, categories, and images
Read customersAccess customer profiles, loyalty points, and visit history
Read salesPull completed transactions with line items and payment details
Read inventoryCheck stock levels across all products and variations
Write customersCreate and update customer records from external systems
Write productsBulk-update prices and stock levels
Adjust inventoryPush stock corrections from warehouse or external systems
Receive webhooksGet notified in real-time when sales complete, products change, or inventory moves

How It Works

  1. Create an API key in the Admin Panel under Developer API > API Keys.
  2. Send requests to /api/v1/* endpoints with your key in the X-API-Key header.
  3. Receive JSON responses wrapped in a standard envelope with pagination and metadata.
  4. Subscribe to webhooks to get push notifications instead of polling.
Quick test
curl -H "X-API-Key: bpos_your_key_here" \
https://yourstore.brotherpos.ca/api/v1/products

Base URL

All API requests go to your store's subdomain:

https://{your-store}.brotherpos.ca/api/v1/

Response Format

All responses are wrapped in a standard envelope:

{
"data": [ ... ],
"pagination": {
"current_page": 1,
"per_page": 25,
"total_count": 142,
"total_pages": 6
},
"meta": {
"request_id": "a1b2c3d4-...",
"timestamp": "2026-03-22T12:00:00Z"
}
}

Single-resource responses return data as an object instead of an array.


Rate Limits

Each API key has a configurable rate limit (default: 60 requests/minute). Rate limit headers are included in every response:

HeaderDescription
X-RateLimit-LimitRequests allowed per period
X-RateLimit-RemainingRequests remaining
X-RateLimit-ResetWhen the limit resets (Unix timestamp)
Retry-AfterSeconds to wait (only on 429 responses)

What's Next?