Lumos · OpenAPI Overlay 1.0.0
API Evangelist enrichment overlay for the Lumos REST API
9 actions
9 updates
documentation
Generated by API Evangelist
Written by API Evangelist tooling for Lumos's API. It is a proposal applied on top of the contract, not a document Lumos publishes.
What the actions change
descriptioncontactx-documentationx-llms-txtx-status-pagex-roadmapx-trust-centerx-version-is-tracked
Targets 6
$.info
$.servers[0]
$.components.securitySchemes.HTTPBearer
$.components.securitySchemes
$
$.paths['/apps'].get
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enrichment overlay for the Lumos REST API
version: 1.0.0
x-provenance:
generated: '2026-08-29'
method: generated
source: openapi/lumos-openapi.json (harvested verbatim from https://api.lumos.com/openapi.json)
extends: openapi/lumos-openapi.json
note: >-
Non-destructive. Every action below adds metadata the published contract omits, drawn from Lumos's
own developer portal, its OAuth authorization-server metadata, and live response headers. Nothing
here invents behaviour. The original spec is never mutated.
actions:
- target: $.info
description: Add the contact, licence and documentation links the published contract omits.
update:
contact:
name: Lumos Developers
url: https://developers.lumos.com/
x-documentation: https://developers.lumos.com/reference/lumos-api
x-llms-txt: https://developers.lumos.com/llms.txt
x-status-page: https://status.lumos.com/
x-roadmap: https://developers.lumos.com/page/public-roadmap
x-trust-center: https://trust.lumos.com/
- target: $.info
description: >-
Flag that info.version 0.1.0 is the FastAPI default and does not track the API, so consumers do
not treat it as a release identifier.
update:
x-version-is-tracked: false
x-version-note: >-
info.version is a framework default. Lumos publishes no API version scheme; only
/v1/knowledge/context carries a version segment.
- target: $.servers[0]
description: Name the production host.
update:
description: Lumos production API
- target: $.components.securitySchemes.HTTPBearer
description: State the credential format the docs publish but the scheme omits.
update:
bearerFormat: Lumos API key (lsk_ prefix)
description: >-
Static API key issued in the Lumos admin UI, sent as `Authorization: Bearer lsk_...`. This
credential does NOT authenticate the hosted MCP servers, which require OAuth.
- target: $.components.securitySchemes
description: >-
Add the OAuth scheme that governs the two hosted MCP endpoints, discovered from RFC 8414
authorization-server metadata at https://api.lumos.com/.well-known/oauth-authorization-server.
update:
LumosOAuth:
type: oauth2
description: >-
Browser OAuth for https://api.lumos.com/mcp/user and https://api.lumos.com/mcp/admin.
Public clients may register dynamically (RFC 7591).
flows:
authorizationCode:
authorizationUrl: https://b.app.lumosidentity.com/b/oauth/authorize
tokenUrl: https://b.app.lumosidentity.com/b/oauth/token
refreshUrl: https://b.app.lumosidentity.com/b/oauth/token
scopes:
lumos:user:read: Read the user's own apps, permissions and access requests.
lumos:user:write: Submit and cancel access requests for the user.
lumos:admin:access-policies:read: Read domain access policies.
lumos:admin:access-policies:write: Write domain access policies.
lumos:admin:appstore:read: Inspect AppStore apps and approval configuration.
lumos:admin:appstore:write: Configure AppStore approval workflows.
lumos:admin:knowledge-hub:read: Read Knowledge Hub entries.
lumos:admin:knowledge-hub:write: Create, update and archive Knowledge Hub entries.
lumos:admin:mcp-governance:read: Read Lumos MCP governance configuration.
lumos:admin:mcp-governance:write: Write Lumos MCP governance configuration.
lumos:admin:task-center:read: Read approval, provisioning and error tasks.
lumos:admin:task-center:write: Act on, reassign, complete and dismiss tasks.
lumos:admin:workflows:read: Read workflow configuration.
lumos:admin:workflows:write: Write workflow configuration.
- target: $
description: Record the runtime rate-limit headers observed on live responses but absent from the contract.
update:
x-rate-limit-headers:
limit: x-ratelimit-limit
remaining: x-ratelimit-remaining
reset: x-ratelimit-reset
retry_after: retry-after
reset_format: unix epoch seconds (float)
observed_on: https://api.lumos.com/info
observed_at: '2026-08-29'
- target: $
description: Record the three coexisting pagination styles so a client can pick the right loop per path.
update:
x-pagination-styles:
- style: offset
params: [page, size]
applies_to: most list operations
- style: opaque-cursor
params: [page_token, page_size]
response_field: next_page_token
applies_to: /v1/knowledge/context
- style: cursor
params: [cursor, limit]
response_field: next_cursor
applies_to: [/identity_events, /activity_logs]
- target: $
description: Record the reversal paths an agent needs before it writes. See conventions/lumos-conventions.yml.
update:
x-reversibility:
createAccessRequest: cancelAccessRequest (while pending)
createUserOffboarding: cancelUserOffboarding (while scheduled or in progress)
createAccessReview: deleteAccessReview (soft-delete, any status except COMPLETED)
addAppsToAccessReview: deleteAccessReviewApp (soft-delete, any status except COMPLETED)
createApp: disconnectApp
addAppToAppStore: removeAppFromAppStore
- target: $.paths['/apps'].get
description: Note the app_class_id / instance_id distinction that causes most 404s on this contract.
update:
x-id-note: >-
`app_class_id` identifies the integration TYPE from the catalogue; `instance_id` identifies this
domain's connected instance. Passing one where the other is expected returns 404.