How callers authenticate to the Komodo Health platform. Komodo supports two mutually exclusive modes: interactive web login (OAuth 2.0 Device Authorization Flow, yielding a JWT) and machine-to-machine service-principal credentials (client_id / client_secret). Every call is scoped to a Komodo account, each of which maps to a dedicated Komodo-managed Snowflake warehouse.
UPGRADED 2026-08-15: the 2026-07-19 round could only document these schemes from prose because Komodo publishes no OpenAPI. The Kong gateway at api.komodohealth.com answers every anonymous request with `WWW-Authenticate: Bearer realm="auth.komodohealth.com", error="invalid_token"`, and that authorization server publishes a full anonymous OIDC discovery document. The endpoints, grants, PKCE methods, signing algorithms and token endpoint auth methods below are now machine-read from the provider rather than inferred, and they corroborate the documented flows exactly (the device authorization endpoint confirms `komodo login`; client_credentials confirms service principals).
Komodo Health declares 3 security scheme(s) across its OpenAPI definitions.
generated: '2026-08-15'
method: searched
source: >-
https://docs.komodohealth.com/guides-tutorials/guides/2-authentication and —
new on 2026-08-15 — the authorization server's own discovery documents at
https://auth.komodohealth.com/.well-known/openid-configuration and
/.well-known/oauth-authorization-server, saved verbatim under well-known/.
description: >-
How callers authenticate to the Komodo Health platform. Komodo supports two
mutually exclusive modes: interactive web login (OAuth 2.0 Device
Authorization Flow, yielding a JWT) and machine-to-machine service-principal
credentials (client_id / client_secret). Every call is scoped to a Komodo
account, each of which maps to a dedicated Komodo-managed Snowflake warehouse.
UPGRADED 2026-08-15: the 2026-07-19 round could only document these schemes
from prose because Komodo publishes no OpenAPI. The Kong gateway at
api.komodohealth.com answers every anonymous request with
`WWW-Authenticate: Bearer realm="auth.komodohealth.com", error="invalid_token"`,
and that authorization server publishes a full anonymous OIDC discovery
document. The endpoints, grants, PKCE methods, signing algorithms and token
endpoint auth methods below are now machine-read from the provider rather than
inferred, and they corroborate the documented flows exactly (the device
authorization endpoint confirms `komodo login`; client_credentials confirms
service principals).
docs: https://docs.komodohealth.com/guides-tutorials/guides/2-authentication
authorization_server:
issuer: https://auth.komodohealth.com/
discovery:
openid_configuration: https://auth.komodohealth.com/.well-known/openid-configuration
oauth_authorization_server: https://auth.komodohealth.com/.well-known/oauth-authorization-server
status: 200
probed: '2026-08-15'
files:
- well-known/komodo-health-openid-configuration.json
- well-known/komodo-health-oauth-authorization-server.json
- well-known/komodo-health-jwks.json
backed_by: Auth0 (auth0.com grant-type extensions present in grant_types_supported)
ownership_note: >-
auth.komodohealth.com is a Komodo-owned hostname and the issuer claim is
https://auth.komodohealth.com/, so this authorization server belongs to
Komodo Health even though the underlying identity platform is Auth0.
endpoints:
authorization: https://auth.komodohealth.com/authorize
token: https://auth.komodohealth.com/oauth/token
device_authorization: https://auth.komodohealth.com/oauth/device/code
userinfo: https://auth.komodohealth.com/userinfo
jwks: https://auth.komodohealth.com/.well-known/jwks.json
revocation: https://auth.komodohealth.com/oauth/revoke
registration: https://auth.komodohealth.com/oidc/register
mfa_challenge: https://auth.komodohealth.com/mfa/challenge
backchannel_authentication: https://auth.komodohealth.com/bc-authorize
global_token_revocation: https://auth.komodohealth.com/oauth/global-token-revocation/connection/{connectionName}
grant_types_supported:
- client_credentials
- authorization_code
- refresh_token
- password
- implicit
- urn:ietf:params:oauth:grant-type:device_code
- urn:ietf:params:oauth:grant-type:token-exchange
- urn:ietf:params:oauth:grant-type:jwt-bearer
- http://auth0.com/oauth/grant-type/password-realm
- http://auth0.com/oauth/grant-type/passwordless/otp
- http://auth0.com/oauth/grant-type/mfa-oob
- http://auth0.com/oauth/grant-type/mfa-otp
- http://auth0.com/oauth/grant-type/mfa-recovery-code
code_challenge_methods_supported: [S256, plain]
token_endpoint_auth_methods_supported: [client_secret_basic, client_secret_post, private_key_jwt, none]
id_token_signing_alg_values_supported: [HS256, RS256, PS256]
dpop_signing_alg_values_supported: [ES256]
subject_types_supported: [public]
backchannel_logout_supported: true
scopes_supported_detail: scopes/komodo-health-scopes.yml
schemes:
- id: web_login
type: oauth2
flow: device_authorization
rfc: RFC 8628
description: >-
Browser-based OAuth flow for interactive users. Started with `komodo
login`; opens the browser, then persists the JWT and refresh token to the
[default] profile in ~/.komodo/credentials. Intended for individual,
manual use.
token_type: JWT
token_command: komodo jwt
persisted: true
persisted_to: ~/.komodo/credentials
note: >-
If no credentials are found the SDK triggers a web login automatically,
but those credentials are in-memory only and are not written to disk.
- id: service_principal
type: oauth2
flow: client_credentials
description: >-
Machine-to-machine authentication for automation, CI/CD and services.
Service principals are created with `komodo service-principal create`,
which returns a client_id and client_secret. No user interaction required.
credentials: [client_id, client_secret]
requires: account_id (or a named profile that carries it)
management_commands:
- komodo service-principal create --name "<name>" --description "<desc>"
- komodo service-principal list
- komodo service-principal delete <SERVICE_PRINCIPAL_ID>
- id: explicit_jwt
type: http
scheme: bearer
description: >-
A JWT obtained from `komodo jwt` may be passed directly into the SDK
alongside an account_id. In-memory only.
account_scoping:
required: true
description: >-
A Komodo account is the organizational entity on the platform. Each account
has its own data subscriptions and a dedicated Komodo-managed Snowflake
warehouse. Every query and API operation is scoped to the selected account,
and data does not move between accounts.
identifiers:
account_id: UUID uniquely identifying the account
account_slug: human-readable account name
selection: komodo account set (interactive) / komodo account get / komodo account list
credentials_file:
path: ~/.komodo/credentials
format: INI-style named profiles
override_env: KOMODO_CREDENTIALS_PATH
profiles:
default: >-
Written by `komodo login` and `komodo account set`. Carries token,
token_expiration, account_id and account_slug.
named: >-
User-created profiles carrying client_id, client_secret, account_id and
account_slug. Named profiles support M2M credentials only, not JWTs.
rules:
- Only one authentication method may be used at a time.
- JWT and explicit M2M credentials both require an account_id parameter.
- Profiles cannot be combined with account_id — the profile already carries it.
- jwt and client_id/client_secret cannot be mixed.
environments:
- {name: production, default: true, public: true}
- {name: integration, public: false, requires: komodo-internal-tools plugin}
- {name: development, public: false, requires: komodo-internal-tools plugin}
scopes:
published: partial
detail: scopes/komodo-health-scopes.yml
note: >-
UPGRADED 2026-08-15. The authorization server advertises 14 scopes in its
discovery document, but every one of them is a standard OpenID Connect
identity/claim scope (openid, profile, email, offline_access, name,
given_name, family_name, nickname, picture, created_at, identities, phone,
address, email_verified). Komodo advertises NO resource scopes for its own
API and publishes no scopes/permissions reference page. Platform
authorization is expressed as Komodo account membership plus RBAC/FGA
grantable roles on Komodo Apps and secrets (see the App Builder sharing
tools). Do not read the OIDC scope list as a Komodo permission model.
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.