Sedai · Authentication Profile

Sedai Authentication

Authentication

Sedai's platform API is authenticated with a long-lived API token minted in the tenant console. There is no published OpenAPI, so this profile is read from Sedai's own first-party SDK reference rather than derived from a securityScheme block. The token is a JWT with an exp claim — Sedai documents reading the expiry client-side by base64-decoding the payload — and it is scoped to one tenant: a key from one Sedai instance returns 401 against another.

Sedai secures its APIs with apiKey across 1 declared security scheme, as derived from its OpenAPI definitions.

Cloud OptimizationFinOpsKubernetesCloud Cost ManagementAutonomous OperationsObservabilityArtificial IntelligenceDevOps
Methods: apiKey Schemes: 1 OAuth flows: API key in:

Security Schemes

sedaiApiToken apiKey
· in: header ()

Source

Authentication Profile

sedai-authentication.yml Raw ↑
generated: '2026-08-29'
method: searched
source: >-
  https://github.com/SedaiEngineering/sedai-sdk-releases/blob/main/REFERENCE-typescript.md
  (Authentication section, API key roles, and the 401/403 troubleshooting
  table), https://github.com/SedaiEngineering/sedai-sdk-releases/blob/main/README.md,
  and https://docs.sedai.io/get-started/onboarding/readme/safety-and-security
  (SAML / MFA / key management) plus
  https://docs.sedai.io/get-started/platform/single-sign-on-rbac (OIDC + SAML SSO).
description: >-
  Sedai's platform API is authenticated with a long-lived API token minted in
  the tenant console. There is no published OpenAPI, so this profile is read
  from Sedai's own first-party SDK reference rather than derived from a
  securityScheme block. The token is a JWT with an exp claim — Sedai documents
  reading the expiry client-side by base64-decoding the payload — and it is
  scoped to one tenant: a key from one Sedai instance returns 401 against
  another.
base_url_template: https://{tenant}.sedai.app
summary:
  types:
    - apiKey
  api_token: true
  oauth2: false
  openid_connect: consumer-side only (console SSO, not API auth)
  mutual_tls: false
schemes:
  - name: sedaiApiToken
    type: apiKey
    in: header
    format: JWT
    issued_at: Settings -> API Keys -> Create New Key, inside the tenant console
    shown_once: true
    expires: true
    expiry_discovery: >-
      The token is a JWT; Sedai documents decoding the payload segment to read
      the "exp" claim without calling the API
      (echo "$SEDAI_API_TOKEN" | cut -d. -f2 | base64 -d | grep exp).
    tenant_scoped: true
    sdk_env_vars:
      - SEDAI_BASE_URL
      - SEDAI_API_TOKEN
    description: >-
      Bearer API token passed by the SDK on every request to the tenant's
      https://{tenant}.sedai.app host. Sedai does not publish the raw header
      name in its public docs; the SDK sets it internally via configure({
      baseUrl, apiToken }).
    source: REFERENCE-typescript.md#authentication
roles:
  - name: user
    grants: All read operations — accounts, resources, recommendations, opportunities.
  - name: admin
    grants: >-
      Required for every write/update operation (updateResourceSettings,
      updateGroupSettings, updateAccountSettings). A write call made with a
      user-role key returns 403.
feature_flags:
  - name: BULK_OPPORTUNITIES_API_ENABLED
    description: >-
      Off by default for all tenants. getOpportunitiesForResources returns 403
      until Sedai support enables it. A per-tenant entitlement flag, not a
      scope — it is not discoverable from the token.
console_sso:
  protocols:
    - SAML 2.0
    - OIDC
  mfa: >-
    Sedai offers AWS SSO password policies and MFA for SaaS customers; MFA is
    mandatory on all internal systems handling customer data.
  rbac: true
  docs: https://docs.sedai.io/get-started/platform/single-sign-on-rbac
  note: >-
    SAML/OIDC govern human login to the Sedai console. They are NOT an
    authorization mechanism for the platform API, which uses the console-minted
    API token only. Sedai publishes no OAuth 2.0 authorization server and no
    /.well-known/openid-configuration of its own.
failure_modes:
  - status: 401
    meaning: Token missing, wrong, expired, or belonging to a different tenant.
    remediation: Re-generate the key in Settings -> API Keys; check the JWT exp claim.
  - status: 403
    meaning: Valid token, insufficient role, or a tenant feature flag is off.
    remediation: Use an admin-role key for writes; contact Sedai support for the feature flag.
gaps:
  - No published API key prefix or header name in the public documentation.
  - No documented key rotation policy, key expiry period, or revocation endpoint.
  - No OAuth 2.0 / OIDC option for machine access; no scopes, so least-privilege is limited to the two coarse roles.
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com

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.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/sedai-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.