Skip to content

LithosPOS platform APIs

The LithosPOS platform API lets your software read and write a merchant’s point-of-sale data: items and menus, stock and purchasing, customers, online orders, taxes and sales reporting. Your application authenticates as itself — not as a staff user — with an OAuth2 client-credentials grant, and every call is scoped to one merchant company.

Access is packaged as three products. An app declares its product when you create it, and that choice is permanent — it fixes the scope bundle the token carries.

  1. Register a developer account and verify your email address.
  2. Apply to the developer program (a short NDA application) and sign the developer agreement.
  3. Create an organization and an app inside it. The app is issued a sandbox credential immediately.
  4. Provision a sandbox merchant — a real, isolated demo company you can write to freely.
  5. Mint a token with your client credentials and call the API.
  6. Submit for review when you are ready for production merchants.

Steps 1–5 take a few minutes once your program application is approved. Start with the getting started walkthrough.

SurfaceBase URLPurpose
Token endpointhttps://api-v2.lithospos.com/v1/tokenExchange client credentials for an app token
Partner APIhttps://api-v2.lithospos.com/v1Every merchant data operation
Developer APIhttps://auth.lithospos.com/api/v2/developerConsole side only: accounts, organizations, apps, credentials

One host serves every merchant. LithosPOS runs regional clusters (UK, US, India, UAE) and a merchant’s data lives in exactly one of them, but the gateway reads the region from your token and routes each request to the right origin — you never address a cluster directly.

Take the base URL from api_base_url in the token response rather than hard-coding it. It is the contract, and reading it is what keeps your integration working across failover and self-hosted topologies.

  • Envelope — successful partner responses return { "data": … }, with { "meta": { "page", "limit", "total" } } added on list endpoints.
  • Errors — every failure carries a stable machine-readable code. Branch on code, never on message: messages are translated to the caller’s locale.
  • Localisation — send Accept-Language and response messages come back in that language.
  • Money and quantities — decimals are JSON numbers in the merchant’s own currency; there is no minor-unit conversion.
  • DatesYYYY-MM-DD for report windows, ISO 8601 timestamps everywhere else.