Skip to main content
Use this endpoint when a partner runs its own API next to Storefront and wants to accept the same customer access token Fire spark already issued. The partner does not mint a token and does not receive the Fire spark signing secret. It sends the token here; Fire spark verifies the signature and expiration. The request is public, like token exchange. Always 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
Do not verify the JWT locally. Storefront access tokens are signed with a private Fire spark secret. Introspection is the supported way for a partner server to check them.

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 a POST 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 until exp. 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 (and env) 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.
Always call this endpoint over HTTPS. Do not log access tokens. Treat an active response as proof of the customer and merchant claims only — authorize partner-specific actions on your side.