200. active tells you whether the token is live.
When to use introspection
Use this endpoint when:- A channel already exchanged an OIDC ID token for a Fire spark access token
- A partner proxy or custom API needs to protect its own routes with that same token
- The partner should only confirm the token is real and still within its one-hour lifetime
How a partner proxy uses it
1
The channel obtains a Fire spark access token
The client signs the customer in with your identity provider, then calls
POST /oauth/exchange. Fire spark
returns a Bearer token that lasts one hour.2
The client calls the partner proxy
The same
Authorization: Bearer header goes to the partner endpoint. The
partner does not decode or trust the token on its own.3
The proxy introspects the token
The proxy
POSTs the token to /oauth/introspect. Fire spark checks the
signature, aud, and exp.4
The proxy authorizes its own route
When
active is true, compare merchant_id and env to the partner
tenant, then handle the request. Cache the result until exp.Introspection request
Send aPOST to /oauth/introspect with Content-Type: application/json. No Authorization header is required on this route.
Request body
Response fields
Expired, forged, or malformed tokens return
{ "active": false } with HTTP
200. The body does not say why. Missing token is a 400 validation error.Caching
A live token stays valid untilexp. There is no revocation list today, so a cache keyed by the token and held until exp matches a fresh introspection call.
Cache until exp
Security properties
- No partner-issued tokens: The only access token is the one Fire spark minted at exchange.
- No shared signing secret: Partners never receive
AUTH_SECRET. They cannot forge storefront tokens. - Merchant binding: Always compare
merchant_id(andenv) before serving partner data. A valid token for another merchant must not pass. - Short lifetime: Tokens expire after one hour. Re-exchange through the channel when the IdP session refreshes.