OverviewArchitecture

API architecture

Separate the supported customer read API from runtime ingestion, managed component protocols, dashboard internals, and planned contracts.

AgentKeeper has several HTTP surfaces with different callers and trust models. Only the API-key routes in the generated endpoint reference are the supported customer read API.

Contract boundaries

LaneCallerPurposeCustomer contract
Customer read APICustomer automation with an organization API keyRead key context, baseline policy, setup health, limited recent decisions, and eligible telemetry summariesPublished in the OpenAPI reference
Runtime integration APIAgentKeeper hooks, Gateway, collectors, and supported custom integrationsRequest a decision or send normalized runtime evidenceDocumented separately and scoped to runtime components
Managed component protocolsSigned devices, packages, browser extensions, and policy resolversEnrollment, policy distribution, heartbeat, and managed coverageAgentKeeper-managed implementation path, not a custom integration starting point
Dashboard internalsSigned-in AgentKeeper browser sessionPower the product UINot a public automation contract and intentionally absent from OpenAPI
Planned data and management APIsFuture service accountsHistorical export and configuration automationNot shipped; see Roadmap

Authentication

CredentialUseBoundary
Organization API keyPublished read endpoints and approved runtime integrationsOrganization-scoped; not a general dashboard or administration token
Device credential or signed-device headersInstalled managed componentsIssued through enrollment and bound to the component or device
Signed-in dashboard sessionProduct UIBrowser and role model only; do not use for headless automation

Validate /api/v1/me before an automation reads other resources. API-key owner context is not workstation attribution: runtime sources must still report the supported host, user, source, and session evidence.

Enforcement boundary

An API route can participate in blocking only when the caller receives the decision before execution and honors it. The runtime evaluation and MCP evaluation paths can do this for supported hooks and routed calls. Audit, heartbeat, OTLP, provider export, and post-tool paths cannot undo completed activity.

Some runtime decision endpoints return HTTP 200 with a blocking verdict because agent runtimes may treat non-200 responses as hook failure. Consumers must validate the documented response body instead of inferring the decision from HTTP status alone.

Public-reference rule

Do not add a dashboard route to OpenAPI merely because the browser can call it. A public route needs a stable authentication model, scopes, request and response schemas, pagination or limits, error behavior, and a stated compatibility policy. Until then, use the dashboard or a tenant-specific agreement.