Skip to content

Environments

Linra Omni runs two environments a partner integration cares about: Staging and Production. Each is a fully separate deployment — separate data, separate everything. There is no shared sandbox data between them.

Environment is a property of the credential, not the request

Section titled “Environment is a property of the credential, not the request”

When you generate a credential in the Portal dashboard’s API Credentials section, you choose its environment at generation time — staging and production credentials exist side by side, each with its own clientId/clientSecret pair. The token you get back from POST /api/v1/auth/token carries that environment as a signed claim; you do not, and cannot, choose or override it per-request. A staging credential’s token only ever works against the staging host; the same is true for production.

This means the safest way to think about environment selection is: pick the right host for the credential you’re using, not “pick an environment and hope the credential matches” — a mismatch is rejected outright rather than silently routed to the wrong place.

Environment Base URL
Production https://api-omni.linra.net (placeholder — not yet live; confirm with your account contact before go-live)
Staging https://api-omni-stg.linra.net (placeholder — confirm with your account contact)

Both hosts serve the identical /api/v1 surface described in this document.

  1. Build and test your entire integration against Staging first — generate a staging credential, exercise every flow (orders, cart, webhooks, returns) there.
  2. Once you’re satisfied, generate a separate Production credential and point your production deployment at the production host. Do not reuse a staging credential in production, or vice versa — each credential’s environment is fixed at generation and cannot be changed later (rotate to a new credential in the correct environment instead).
  3. Webhook subscriptions, carts, and orders are all environment-scoped — a staging order will never appear in a production list, and a webhook subscription created against staging never fires for production events.