Lightspeed Commerce · Authentication Profile
Lightspeed Authentication
Authentication
Lightspeed Commerce secures its APIs with http and oauth2 across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).
CommercePoint-of-SaleRetailRestaurantInventoryLoyaltyPaymentsE-CommerceOmnichannelCanada
Methods: http, oauth2
Schemes: 2
OAuth flows: authorizationCode
API key in:
Security Schemes
OAuth2 oauth2
· flows: authorizationCode
bearerAuth http
scheme: bearer
Source
Authentication Profile
generated: '2026-08-27'
method: searched
source: https://x-series-api.lightspeedhq.com/docs/authorization.md, https://developers.lightspeedhq.com/retail/authentication/authentication-overview/,
https://developers.lightspeedhq.com/ecom/introduction/authentication/, openapi/lightspeed-k-series-openapi.json,
openapi/lightspeed-x-series-openapi.json
summary:
types:
- http
- oauth2
oauth2_flows:
- authorizationCode
schemes:
- name: OAuth2
type: oauth2
flows:
- flow: authorizationCode
authorizationUrl: /oauth/authorize
tokenUrl: /oauth/token
scopes: 8
description: 'The Lightspeed Restaurant K-Series APIs support OAuth2 authentication using the [authorization code
grant flow](https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/).
See our [Authorization Quick Start Guide](https://api-portal.lsk.lightspeed.app/quick-start/authentication/authorization-overview)
for more details on how to authenticate.'
sources:
- openapi/lightspeed-k-series-openapi.json
- name: bearerAuth
type: http
scheme: bearer
description: Bearer Token for API authentication.
sources:
- openapi/lightspeed-x-series-openapi.json
docs: https://x-series-api.lightspeedhq.com/docs/authorization
note: 'Four product lines, three different authentication models. The specs alone understate this: the X-Series
spec declares only a generic http/bearer scheme, but the docs show that bearer token is issued by a full OAuth
2.0 authorization-code flow (or, on the Plus plan, by a personal token). eCom C-Series does not use OAuth at all.'
profiles:
- product: Retail X-Series
api: lightspeed:retail-x-series
primary: OAuth 2.0 authorization code (RFC 6749)
header: 'Authorization: Bearer <access_token>'
authorization_url: https://secure.retail.lightspeed.app/connect
token_url: https://{domain_prefix}.retail.lightspeed.app/api/1.0/token
token_request_encoding: application/x-www-form-urlencoded POST body (never query string)
access_token_ttl_seconds: 86400
refresh: rotating — each refresh issues a NEW refresh token and revokes the prior access token
state_parameter: required, minimum 8 characters
authorization_code_ttl: 10 minutes, single use
callback_params:
- code
- domain_prefix
- state
- scope
alternative:
name: Personal tokens
availability: Plus plan retailers only
header: 'Authorization: Bearer <personal_token>'
caveats:
- Tied to the creating user but survive that user resetting their password
- Recommended only for testing/exploration on multi-store apps
docs: https://x-series-support.lightspeedhq.com/hc/en-us/articles/204886420-Retail-POS-X-Series-Personal-Tokens
app_approval: New apps are "Not Approved" and capped at 30 connected stores until Lightspeed approves them.
token_endpoint_rate_limit: Rate limited independently of the API; returns X-RateLimit-Limit / -Remaining / -Reset
and 429 on exhaustion.
docs: https://x-series-api.lightspeedhq.com/docs/authorization
- product: Retail R-Series
api: lightspeed:retail-r-series
primary: OAuth 2.0 authorization code
scope_model: employee:* permissions mirroring in-app roles (30 scopes, employee:all = full access)
docs: https://developers.lightspeedhq.com/retail/authentication/authentication-overview/
- product: eCom C-Series
api: lightspeed:ecom-c-series
primary: API key + secret over HTTP Basic, per cluster
clusters:
- id: EU1
base: https://api.webshopapp.com/en/
- id: US1
base: https://api.shoplightspeed.com/en/
note: No OAuth. Credentials are per shop connection, which is why eCom is described as a single-shop-connection
API.
docs: https://developers.lightspeedhq.com/ecom/introduction/authentication/
- product: Restaurant K-Series
api: lightspeed:restaurant-k-series
primary: OAuth 2.0 authorization code with 8 declared scopes
authorizationUrl: /oauth/authorize
tokenUrl: /oauth/token
note: One scope (user-token-by-authorization-code) is used in security[] but never declared in the flow.
docs: https://api-portal.lsk.lightspeed.app/quick-start/authentication/authorization-overview
gaps:
- No OpenID Connect on any product line; /.well-known/openid-configuration 404s everywhere.
- No RFC 8414 authorization-server metadata; every endpoint above is prose-only.
- No mTLS, no signed requests, no DPoP or sender-constrained tokens.
- The X-Series OpenAPI declares only http/bearer, so a spec-only reader would never discover the OAuth flow, the
24h TTL or the rotating refresh token.
docs_all:
- https://x-series-api.lightspeedhq.com/docs/authorization
- https://developers.lightspeedhq.com/retail/authentication/authentication-overview/
- https://developers.lightspeedhq.com/ecom/introduction/authentication/
- https://api-portal.lsk.lightspeed.app/quick-start/authentication/authorization-overview
Work with this as data
Every security artifact here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for security posture
4 MCP tools reach this
find_securityBrowse and filter every security artifact in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This security artifact
curl "https://apis.io/api/v1/security/lightspeed-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.