Kortext · Authentication Profile
Kortext Authentication
Authentication
Kortext secures its APIs with http across 1 declared security scheme, as derived from its OpenAPI definitions.
EducationEdTechHigher EducationDigital TextbooksLearning AnalyticsArtificial IntelligenceContent DeliveryLTILibrariesStudent EngagementPublishing
Methods: http
Schemes: 1
OAuth flows:
API key in:
Security Schemes
HTTPBearer http
scheme: bearer
Source
Authentication Profile
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.
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 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.