Swiftly · Authentication Profile
Swiftly Authentication
Authentication
Swiftly secures its APIs with apiKey and http across 2 declared security schemes, as derived from its OpenAPI definitions.
RetailRetail MediaGroceryAdvertisingLoyaltyCouponsCommerceArtificial IntelligenceMobileCompany
Methods: apiKey, http
Schemes: 2
OAuth flows:
API key in: header
Security Schemes
SwiftlyAccountKey apiKey
· in: header ()
BearerToken http
scheme: bearer
Source
Authentication Profile
generated: '2026-08-05'
method: probed
source: >-
live probes of https://prod.swiftlyapi.net/graphql plus the first-party Swiftly web
client bundle shipped on savemart.com (a Swiftly-built storefront)
docs: null
docs_note: >-
Swiftly publishes no authentication documentation. There is no developer portal, no
API reference and no /.well-known/openid-configuration or
/.well-known/oauth-authorization-server on any Swiftly host (both 404). Everything
below was observed from live responses and from the JavaScript Swiftly ships to
shopper browsers — it is not a provider claim.
summary:
types: [apiKey, http]
api_key_in: [header]
oauth2_flows: []
anonymous_introspection: true
schemes:
- name: SwiftlyAccountKey
type: apiKey
in: header
parameter_name: X-Swiftly-Account-Key
description: >-
Per-tenant (retailer chain) key the Swiftly client sends on every GraphQL call. Without
a chain context the API returns
"IllegalStateException: Chain not available in session context".
evidence: >-
Header literal "X-Swiftly-Account-Key" found in
https://savemart.com/build/entry.client-UHAB2OGQ.js (Swiftly-built storefront)
sources: [graphql/swiftly-shopper.graphql]
- name: BearerToken
type: http
scheme: bearer
description: >-
Shopper-scoped access token carried in the Authorization header. Required for
shopper-account, loyalty-account and reward mutations. Anonymous calls to those
fields return "InvalidTokenException: Invalid access token."
evidence: >-
POST {getShopperAccount(swiftlyShopperId:"test"){__typename}} to
https://prod.swiftlyapi.net/graphql returned InvalidTokenException (HTTP 200,
GraphQL errors[])
sources: [graphql/swiftly-shopper.graphql]
context_headers:
- name: X-Swiftly-Account-Key
purpose: retailer chain / tenant selection
- name: X-Swiftly-User-Agent
purpose: client identification
- name: X-Swiftly-Lat
purpose: shopper latitude, used for store resolution
- name: X-Swiftly-Lng
purpose: shopper longitude, used for store resolution
open_surface:
introspection: true
note: >-
GraphQL introspection is enabled for anonymous callers and returns the full 308-type
schema (45 queries, 11 mutations). Schema discovery therefore requires no credential;
data access does.
x-evidence:
fetched: '2026-08-05'
url: https://prod.swiftlyapi.net/graphql
http_status: 200
probes:
- {url: 'https://prod.swiftlyapi.net/.well-known/openid-configuration', http_status: 404}
- {url: 'https://prod.swiftlyapi.net/.well-known/oauth-authorization-server', http_status: 404}
- {url: 'https://swiftly.com/.well-known/openid-configuration', http_status: 404}
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/swiftly-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.