OpenBao · AsyncAPI Specification
Openbao Audit Events
Version
View Spec
View on GitHub
Secrets ManagementSecurityIdentity and Access ManagementEncryptionCertificatesPKIKey ManagementOpen-SourceSelf-HostedLinux FoundationDevOpsInfrastructureAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-27'
method: searched
source: https://openbao.org/docs/audit/http/ ; https://openbao.org/docs/audit/ ; https://openbao.org/docs/audit/socket/ ; https://openbao.org/docs/audit/syslog/
name: OpenBao event and webhook surface
asyncapi_published: false
summary: >-
OpenBao publishes no AsyncAPI document and has no consumer-facing pub/sub or streaming API. What it
does have is an EGRESS event surface: audit devices, one of which - the http device - POSTs every
audited request and response to an operator-specified HTTPS endpoint. That is a real webhook in
everything but name, and it is the only mechanism by which an external system learns what happened
inside OpenBao without polling. It is captured here as a webhook surface, described exactly as the
docs describe it, and NOT dressed up as an AsyncAPI spec that does not exist.
webhooks:
supported: true
style: audit-device egress
delivery:
- id: http
url: https://openbao.org/docs/audit/http/
transport: HTTP(S) POST to an operator-configured URI
enable: bao audit enable http uri=https://my-log-server.local/ingress
config:
uri: The remote server URI. Required. Passed through parseutil.ParsePath so it may reference an environment variable or a file.
headers: A JSON object of headers, shaped map[string][]string. Header values also go through parseutil.ParsePath. Headers with no values are ignored.
semantics:
retry: >-
None. The docs say plainly that this device does not attempt retry and is fully synchronous
with the request by default. A failed delivery is a lost audit event, and because audit
devices are on the request path a failing sink can affect request handling.
ordering: Synchronous with the request, so effectively in request order.
signing: none documented
replay: none
multiplicity: Multiple http devices can be enabled at different paths, each pointing at a different sink.
security_note: >-
The documentation carries an explicit warning that this device is sensitive because it can
connect to arbitrary servers, and recommends declarative audit configuration over granting
operators the ability to create the device via API (unsafe_allow_api_audit_creation=true).
HTTPS is required for production because audit payloads are sensitive.
- id: socket
url: https://openbao.org/docs/audit/socket/
transport: TCP, UDP or Unix socket
- id: syslog
url: https://openbao.org/docs/audit/syslog/
transport: syslog
- id: file
url: https://openbao.org/docs/audit/file/
transport: local file
payload:
format: JSON, one object per audited request and one per response
hashing: >-
Sensitive values are HMAC-hashed before being written. sys/audit-hash computes the same hash for
a given input so an operator can search audit logs for a known value without the plaintext ever
appearing in them.
correlation: The request_id in an API response matches the audit entry for that request.
catalog_published: false
catalog_note: >-
OpenBao publishes no enumerated catalog of event types. The audit stream is a firehose of every
request and response against the API surface, not a curated set of named business events, so there
is nothing to enumerate and nothing has been invented here.
streaming:
supported: false
note: >-
No server-sent events, no WebSocket subscription API and no message-broker integration on the
consumer side. HashiCorp Vault's event-notification system did not come across the fork.
monitor_command: >-
bao monitor streams server LOG output over the API to a CLI client. It is an operator debugging
tool, not an event API, and is recorded here only so it is not mistaken for one.
Work with this as data
Every AsyncAPI spec 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 asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec 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 AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/openbao-audit-events"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?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.