Skip to main content

Authentication

The Explore API supports two ways for users to authenticate, plus an API key you send on every authenticated request. Full detail lives in the Telmar API Authentication docs.

Login methods

MethodHow it works
Standard loginUsers authenticate with their TelmarHelixa Explore Cognito username and password, provided by Sales.
SSO / federated loginSSO for API calls via OAuth 2.0, SAML 2.0 and OpenID Connect (OIDC). Supported identity providers include Google, Microsoft, Okta, and any domain with SSO auth access enablement.
Portal vs API SSO

The Developer Portal is accessed via Cognito login only — SSO is not currently enabled for portal access. SSO is available for API calls themselves.

Portal auth vs API auth

These two are the most common source of confusion, so it is worth being explicit.

Developer Portal authAPI auth
Who it identifiesA personA machine client / integrating service
CredentialCognito username + passwordAPI key (Telmar-Engine-Authorizer)
What you sendA browser session after Cognito sign-inTelmar-Engine-Authorizer: <api-key>
SSONot enabled for the portal todayAvailable (OAuth 2.0, SAML 2.0, OIDC)
Used forRetrieving your API key, viewing Swagger docsCalling POST /crosstab
Scoped byYour portal accountLicensed datasets and survey permissions

The practical consequence: a person signs in to the portal to retrieve an API key, and your application uses that key to call the API. A portal session cookie alone cannot call the API.

Prerequisites

All API users require a TelmarHelixa account with data access enabled for their licensed datasets. Permissioning and survey access must be configured before any API queries can be made — see Getting started → Permissioning.

Sending the API key

Authenticated requests send the key from the Developer Portal as:

Authenticated request header — sample data
Telmar-Engine-Authorizer: SAMPLE.ENGINE.AUTHORIZER

GET /docs and OPTIONS /crosstab do not require this header. POST /crosstab does.

Keep it server-side

Store the API key in a secret manager. Never commit it, never ship it to a browser. Rotate it in the portal if it is exposed.

Failure modes

SymptomCauseFix
401 UnauthorizedAPI key or Cognito credentials missing, malformed or invalidVerify the key from the Developer Portal; see the auth docs
401 on every call, alwaysSending a portal session cookie instead of the API keyUse Telmar-Engine-Authorizer — see above
403 ForbiddenValid credentials, but no access to the requested datasetConfirm survey permissioning with TelmarHelixa
Works locally, 401 in CICI is using a stale or unset secretCheck your CI secret store

Worked request and response payloads for the 401 and 403 cases are in the example gallery.

Security expectations

  • Store the API key in a secret manager. Never commit it, never ship it to a browser.
  • Rotate credentials if a secret is exposed.
  • Use separate credentials per environment so revoking one does not take down the other.
  • Ensure every caller has a TelmarHelixa account with the right licensed datasets enabled.