LithosPOS platform APIs
The point of sale, as an API.
One authenticated REST surface over the services that already run LithosPOS restaurants and retail floors — catalogue, inventory, orders, customers and daily sales.
- OAuth2 client credentials
- 900-second tokens
- Sandbox merchants included
Three products
One credential model, three levels of access.
Full API
The whole back office: catalogue, inventory, purchasing, customers, reservations, taxes and reporting. For ERP syncs, vertical apps and multi-store tooling.
- POST
/v1/items - PATCH
/v1/purchase-orders/:id/receive - GET
/v1/reports/business-summary
Online Order API
Pull a store menu, inject orders from your own channel, then follow acceptance, prep time and food-ready state as the kitchen works.
- GET
/v1/menus/:id/full - POST
/v1/online-orders - GET
/v1/online-orders/:id/status
ADSR API
One canonical row per store per day — gross, tax, discount, refund, net and transaction count — for automated daily sales reporting to mall landlords.
- GET
/v1/reports/daily-sales - GET
/v1/stores
Quickstart
Two calls to your first item.
Mint a short-lived token with your app credentials, then call one host for every merchant. The UK, US, India and UAE clusters sit behind a single gateway that routes each request on the token it carries.
Read the walkthrough/v1/token curl -s https://api-v2.lithospos.com/v1/token \
-H 'Content-Type: application/json' \
-d '{
"client_id": "lp_app_sbK2m9Qx7Rt4",
"client_secret": "lp_sk_sb_5ZkQ5vJ2rN8pXw3TfM6bD1yH4sC7aE0g"
}'
# => { "access_token": "eyJhbGciOiJSUzI1NiIs…",
# "token_type": "Bearer", "expires_in": 900,
# "scope": "items.read items.write …",
# "api_base_url": "https://api-v2.lithospos.com/v1/" } /v1/items # API_BASE_URL="https://api-v2.lithospos.com/v1" ← from the token response
curl -s "$API_BASE_URL/items" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"item": "Flat White",
"groupId": 12,
"brandId": 1,
"uomId": 1,
"taxId": 3,
"rate": 3.75
}'
# => { "data": { "id": 8841, "item": "Flat White",
# "rate": 3.75, "status": 1 } }