API Reference

REST API reference for the Audit Manager — rendered directly from the live OpenAPI 3.1 spec committed to the repo.

Base path: /v1/auditmanager/. The spec below is rendered from the live docs/openapi.jsonarrow-up-right. CI regenerates it from the FastAPI app on every src/-touching push, so endpoint signatures, response shapes, status-code descriptions, and the error-code catalog stay in lockstep with the code. This page does not duplicate any of that in prose.

A running instance also exposes the live spec at /v1/auditmanager/openapi.json and interactive UIs at /v1/auditmanager/docs (Swagger) and /v1/auditmanager/redoc.

Ingest a single CloudEvent

post

Accepts one CloudEvent, validates its schema, and enqueues it for durable publication to Kafka.

Returns 202 Accepted the moment the event lands in the in-process queue — Kafka and Postgres latency are fully hidden from the caller. Delivery from there is at-least-once with idempotent inserts on (id, occurred_at), so replays after a crash never produce duplicate rows in the audit store.

Body
specversionconst: 1.0OptionalDefault: 1.0
idstringOptional
sourcestringRequired
typestringRequired
subjectany ofOptional
stringOptional
or
nullOptional
timestring · date-timeOptional
datacontenttypestringOptionalDefault: application/json
traceparentany ofOptional
stringOptional
or
nullOptional
Other propertiesanyOptional
Responses
post
/v1/auditmanager/events

Ingest a batch of CloudEvents

post

Accepts up to ingest.max_batch_size CloudEvents in a single request. Each event is validated and enqueued independently — same 202 semantics as /events. Events in the batch are not atomic: on queue overflow part way through, the response reports the count actually accepted.

Events in a batch become separate rows in Postgres (one per CloudEvent). Batching is a transport optimization — not a storage concept.

Body

Batched ingest payload.

Responses
post
/v1/auditmanager/events/batch

Health / readiness probe

get

Combined liveness + readiness probe. Returns 200 with status: UP only when service startup is complete and the Postgres connection is healthy. Kubernetes probes in the shipped Helm chart point at this endpoint.

Responses
chevron-right
200

Service is ready to serve traffic.

application/json
idstringOptional

Constant — identifies the service that produced this envelope.

Default: openg2p.auditmanagerExample: openg2p.auditmanager
versionstringOptional

Envelope schema version (not the service version).

Default: 1.0Example: 1.0
responsetimestringRequired

RFC3339 timestamp at which this response was produced.

Example: 2026-04-23T10:00:00.000Z
get
/v1/auditmanager/health

Service version and build metadata

get

Returns the running service version plus the git commit and build timestamp baked into the Docker image. Useful from probes and smoke tests to confirm which image is actually deployed.

Responses
chevron-right
200

Version metadata.

application/json
idstringOptional

Constant — identifies the service that produced this envelope.

Default: openg2p.auditmanagerExample: openg2p.auditmanager
versionstringOptional

Envelope schema version (not the service version).

Default: 1.0Example: 1.0
responsetimestringRequired

RFC3339 timestamp at which this response was produced.

Example: 2026-04-23T10:00:00.000Z
get
/v1/auditmanager/version
200

Version metadata.

Effective non-sensitive configuration

get

Returns the non-sensitive portion of the effective service configuration — ingest tunables, Kafka topic/group names, and partition-maintenance settings. Secrets and Kafka bootstrap URLs are deliberately excluded.

Responses
chevron-right
200

Effective configuration snapshot.

application/json
idstringOptional

Constant — identifies the service that produced this envelope.

Default: openg2p.auditmanagerExample: openg2p.auditmanager
versionstringOptional

Envelope schema version (not the service version).

Default: 1.0Example: 1.0
responsetimestringRequired

RFC3339 timestamp at which this response was produced.

Example: 2026-04-23T10:00:00.000Z
get
/v1/auditmanager/config
200

Effective configuration snapshot.

Last updated

Was this helpful?