OpenBao · AsyncAPI Specification

Openbao Audit Events

Version

View Spec View on GitHub Secrets ManagementSecurityIdentity and Access ManagementEncryptionCertificatesPKIKey ManagementOpen-SourceSelf-HostedLinux FoundationDevOpsInfrastructureAsyncAPIEvents

AsyncAPI Specification

openbao-audit-events.yml Raw ↑
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.
All 92 tools →

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.