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.

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
01 POST /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/" }
Exchange client credentials for a 900-second app token.
02 POST /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 } }
Same host, any merchant — the gateway routes on the token.