API Reference
The event7 backend exposes a REST API on FastAPI. All endpoints under /api/v1 require a valid JWT in the Authorization: Bearer <token> header (except when AUTH_ENABLED=false).
Interactive Swagger UI available at /docs on your backend instance.
Registries
Connect, list, health-check, and remove schema registries.
/api/v1/registries
/Connect a registry (validates connection, encrypts credentials, stores in DB)/List all registries for the authenticated user/{id}/healthHealth check a specific registry/{id}Soft-delete (deactivate) a registrySchemas
Browse subjects, versions, diff, references, and compatibility.
/api/v1/registries/{id}
/subjectsList all subjects with optional enrichments/subjects/{subject}Get latest version of a subject/subjects/{subject}/versionsList version numbers/subjects/{subject}/versions/{v}Get a specific version/subjects/{subject}/versions-detailAll versions with full content/subjects/{subject}Register a new schema/subjects/{subject}Delete a subject/subjects/{subject}/diff?v1=X&v2=YField-level diff between two versions/subjects/{subject}/referencesOutgoing schema references/subjects/{subject}/dependentsSchemas that depend on this subject/subjects/{subject}/compatibilityCurrent compatibility mode/subjects/{subject}/compatibility/checkCheck schema compatibilitySchema Validator
Validate a schema before publishing. Combines SR compatibility check, event7 governance rules evaluation, and field-level diff preview in a single report. Stateless — nothing is stored. Verdict: PASS / WARN / FAIL.
/api/v1/registries/{id}
/schemas/validateValidate a schema candidate (subject, schema_content, schema_type, compare_version). Returns unified report: compatibility + governance + diff + verdict.Governance
Event catalog with broker bindings, enrichments (tags, owner, description, classification, data layer).
/api/v1/registries/{id}
/catalogFull event catalog with enrichments, broker_types, channel_count, updated_at/catalog/export?format=csvExport catalog as CSV or JSON/subjects/{subject}/enrichmentGet enrichment for a subject/subjects/{subject}/enrichmentUpdate enrichment (tags, owner, description, classification, data_layer)Channels
Messaging channels (Kafka topics, RabbitMQ exchanges, Redis streams, etc.) and subject bindings. Supports multi-broker with broker_config JSONB.
/api/v1/registries/{id}
/channelsCreate a channel (address, broker_type, resource_kind, messaging_pattern, broker_config)/channelsList channels with optional filters (?broker_type=kafka&data_layer=core)/channels/{channel_id}Get a single channel with its bindings/channels/{channel_id}Update a channel/channels/{channel_id}Delete a channel and its bindings/channels/{channel_id}/bindingsCreate a subject binding (subject_name, binding_strategy, schema_role)/channels/{channel_id}/bindings/{binding_id}Remove a subject binding/channels/reverse/{subject}Find all channels bound to a subject/channels/channel-mapAggregated channel map (channels + bindings + status)Governance Rules
Rules & policies CRUD, governance templates, and scoring. Filter list with query params: subject, scope, kind, category, severity, enforcement_status, source.
/api/v1/registries/{id}
/rulesCreate a governance rule or policy/rulesList rules with optional filters (also returns global rules when filtering by subject)/rules/{rule_id}Get a single rule by ID/rules/{rule_id}Update a rule (partial update, only non-null fields)/rules/{rule_id}Delete a rule/rules/templates/{template_id}/applyApply a governance template to registry or subject/governance/scoreGovernance score for registry or subject (?subject=...)Governance Templates
Built-in + custom rule templates (RAW, CORE, REFINED, APPLICATION layers). Builtin templates have limited editability (description + rules only). Custom templates support full CRUD and cloning.
/api/v1/governance
/templatesList all governance templates (builtin + custom)/templates/{id}Get a single template with rule definitions/templatesCreate a custom template (template_name, display_name, description, layer, rules)/templates/{id}Update a template (builtin: description + rules only; custom: all fields)/templates/{id}Delete a custom template (builtin → 403 Forbidden)/templates/{id}/cloneClone any template with a new name (creates a custom copy)AsyncAPI
Generate, retrieve, edit, export, and monitor AsyncAPI 3.0 specs. Includes dual-mode overview with drift detection.
/api/v1/registries/{id}
/asyncapi/overviewDual-mode overview — KPIs (total, documented, ready, raw, coverage) + per-subject status with drift detection (origin, status, sync_status)/subjects/{subject}/asyncapi/generateGenerate spec from schema + enrichments (Kafka bindings, key schema, examples). Stores source hash + version for drift./subjects/{subject}/asyncapiRetrieve existing spec (cache → DB)/subjects/{subject}/asyncapiManually update a spec (sets is_auto_generated=false)/subjects/{subject}/asyncapiDelete a stored spec/subjects/{subject}/asyncapi/yamlExport spec as YAMLAsyncAPI Import
Import an AsyncAPI v3 spec to create channels, bindings, enrichments, and optionally register schemas. Two-phase: preview (dry-run) then apply. Smart registration routes schemas based on registry type (Apicurio=all, Confluent-like=Kafka only).
/api/v1/registries/{id}
/asyncapi/import/previewParse spec and preview what would be created (channels, bindings, enrichments, unknown schemas)/asyncapi/import/applyParse and persist all entities. Set register_schemas=true to push compatible schemas to SR.EventCatalog Export
Aggregated export endpoint for the generator-event7 EventCatalog plugin. Returns schemas + enrichments + governance scores + rules summary + AsyncAPI specs + channels + teams in a single payload.
/api/v1/registries/{id}
/export/eventcatalogFull export: registry info, schemas with content + enrichment + score + rules + asyncapi, channels with bindings, deduplicated teamsAI Agent
LLM-powered commands and actions. Requires OLLAMA_HOST configured. SSE streaming responses.
/api/v1/ai
/statusAI agent status (enabled, model, provider)/chatSend a command — returns SSE stream (/health, /schemas, /drift, /catalog, /refs, /asyncapi)/executeExecute a confirmed action (enrich, generate, delete) with confirmation UIHosted Registry
Managed Apicurio instances for brokers without a native SR (Redis, RabbitMQ, NATS). Coming soon (currently returns 501).
/api/v1/registries/hosted
/Provision a hosted registry/{id}Deprovision a hosted registry