Kortext · Authentication Profile

Kortext Authentication

Authentication

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

CompanyEducationEdTechHigher EducationDigital TextbooksLearning AnalyticsArtificial IntelligenceContent DeliveryLTILibrariesStudent EngagementPublishing
Methods: http Schemes: 1 OAuth flows: API key in:

Security Schemes

HTTPBearer http
scheme: bearer

Source

Authentication Profile

Raw ↑
generated: '2026-08-23'
method: searched
source: >-
  openapi/kortext-labs-api-openapi.json (securitySchemes + per-operation security), Kortext's own
  published front-end runtime configuration at https://vle.kortext.com/assets/config.json, and
  live unauthenticated probes of https://app.kortext.com/account/token, https://vle.kortext.com and
  https://api-demo.labs.kortext.com, 2026-08-23.
summary:
  types:
  - http
  self_serve: false
  public_api_keys: false
  note: >-
    Kortext has NO public authentication documentation — no developer portal, no auth guide, no
    key-issuance page. Everything below is read from the one published contract and from observed
    runtime behaviour. Credentials are institutional: an account is provisioned through a
    university or publisher agreement, not through a signup form.
schemes:
- name: HTTPBearer
  type: http
  scheme: bearer
  bearerFormat: JWT
  sources:
  - openapi/kortext-labs-api-openapi.json
  applied_to: 55 of 67 operations (per-operation; no root-level security block)
  unsecured_operations:
  - liveness_health_live_get
  - readiness_health_ready_get
  - chat_all_system_message_chat_v1_all_system_message_get
  - user_shelf_system_message_chat_v1_user_shelf_system_message_get
  - hello_chat_v1_test_hello_get
  failure_response:
    status: 403
    body: '{"detail":"Not authenticated"}'
    observed_at: https://api-demo.labs.kortext.com/podcast/v1/podcasts
    note: >-
      Uses 403 where 401 is conventional. An agent branching on 401 to trigger a token refresh will
      not fire on this API.
token_issuance:
  endpoint: https://app.kortext.com/account/token
  status_unauthenticated: 401
  source: https://vle.kortext.com/assets/config.json (field authTokenApiUrl)
  grant_documented: false
  note: >-
    The token endpoint is named in Kortext's own published runtime configuration but the grant
    type, credential format and token lifetime are not documented anywhere public.
institutional_authentication:
  mechanism: 1EdTech LTI launch
  note: >-
    For institutional users the real front door is not an API credential at all — it is an LTI 1.1
    or LTI 1.3 launch from the university's VLE, which carries identity from the institution into
    Kortext. LTI 1.3 is built on an OIDC third-party-initiated login, so an OIDC flow is
    implemented behind these endpoints even though no discovery document is served.
  endpoints:
    lti_1_1_launch: https://vle.kortext.com/api/v1/lti/v1.1/launch
    lti_1_3_deep_link_request: https://vle.kortext.com/api/v1/lti/v1.3/deep-link-request
    jwks: https://lti.dev.kortext.com/jwks
  jwks_observed:
    url: https://lti.dev.kortext.com/jwks
    status: 200
    body: '{"keys":[]}'
    note: >-
      A JWKS keyset endpoint is deployed on the LTI dev host but is empty; no production keyset is
      served on a discoverable path.
  cross_ref: conformance/kortext-conformance.yml
not_supported:
  oauth2: >-
    No oauth2 securityScheme, no authorization or token metadata document. See scopes/ — none
    written, because there is no scope surface to derive.
  openIdConnect: No openIdConnect scheme declared and no /.well-known/openid-configuration served.
  apiKey: No apiKey scheme declared on any operation.
  mutualTLS: Not declared.
  oauth_discovery:
  - url: https://api-demo.labs.kortext.com/.well-known/oauth-authorization-server
    status: 404
  - url: https://api-demo.labs.kortext.com/.well-known/openid-configuration
    status: 404
  - url: https://kortext.com/.well-known/openid-configuration
    status: 301
    note: Redirects to the marketing homepage — a soft-404, not a document.
gaps:
- No published authentication documentation of any kind.
- No token lifetime, refresh mechanism, or revocation path documented.
- No scopes or permission model — the bearer token is all-or-nothing across 55 operations.
- 403 used in place of 401, which breaks conventional client retry logic.

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/kortext-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 email required.

A second provider on the same verified email joins the account you already have.