APIClarity · AsyncAPI Specification
Apiclarity Notifications Webhooks
Version
View Spec
View on GitHub
API ObservabilityAPI SecurityAPI Traffic AnalysisCiscoKubernetesOpen-SourceOpenAPI ReconstructionOpenClarityService MeshShadow APIsAsyncAPIEvents
AsyncAPI Specification
generated: '2026-09-04'
method: searched
source: https://raw.githubusercontent.com/openclarity/apiclarity/master/api3/notifications/openapi.gen.yaml
spec_file: openapi/apiclarity-notifications-openapi.yml
docs: https://github.com/openclarity/apiclarity/tree/master/api3#apiclarity-notification-specification
description: >-
APIClarity's event surface. It is a webhook catalog, not an AsyncAPI document — the project
publishes no AsyncAPI and no broker/streaming contract, and none is authored here. What it
does publish is an inverted OpenAPI document describing the endpoint a REGISTERED LISTENER
must implement, which APIClarity then POSTs to. Six notification types are defined, all
discriminated on a single polymorphic envelope.
asyncapi_published: false
asyncapi_note: >-
No .asyncapi/asyncapi.yaml exists in the repository and no event-catalog page was ever
published. Fabricating one would assert a contract the project does not ship.
transport: HTTP POST from APIClarity to a listener the operator registers
delivery:
method: POST
path: /notification/{apiID}
path_parameter:
name: apiID
in: path
type: integer
format: int64
required: true
content_type: application/json
request_body_schema: APIClarityNotification
expected_response: '200 with a JSON string body'
direction: outbound — APIClarity is the client, the operator's listener is the server
retries: not documented
signing: not documented
authentication: not documented
envelope:
schema: APIClarityNotification
style: oneOf with a discriminator
discriminator_property: notificationType
base_schema: BaseNotification
base_required_fields:
- notificationType
note: >-
By upstream convention the discriminator value equals the schema name — a
TestReportNotification carries notificationType "TestReportNotification". The aggregator
tool that builds this document depends on that convention.
events:
- name: NewDiscoveredAPINotification
trigger: APIClarity observes traffic to a host/port it has not seen before.
payload: BaseNotification + ApiInfo
payload_fields:
- id
- name
- port
- hasProvidedSpec
- hasReconstructedSpec
- destinationNamespace
- traceSourceId
producer: core
- name: SpecDiffsNotification
trigger: Observed traffic diverges from the provided or reconstructed specification — the shadow/zombie/drift signal.
payload: BaseNotification + SpecDiffs (APIDiffs)
producer: spec_differ module
- name: ApiFindingsNotification
trigger: A module raises security findings against an API.
payload: BaseNotification + APIFindings (items[] of APIFinding)
payload_fields:
- type
- source
- name
- description
- severity
- reconstructed_spec_location
- provided_spec_location
producer: traceanalyzer, bfla and fuzzer modules
- name: AuthorizationModelNotification
trigger: The BFLA authorization model for an API changes — learned, updated, approved or denied.
payload: BaseNotification + AuthorizationModel (specType, operations[], learning)
producer: bfla module
- name: TestProgressNotification
trigger: A fuzz test advances.
payload: BaseNotification + ShortTestProgress (apiID, progress 0-100, starttime)
producer: fuzzer module
- name: TestReportNotification
trigger: A fuzz test completes.
payload: BaseNotification + ShortTestReport (apiID, starttime, status, statusMessage, highestSeverity, tags[])
producer: fuzzer module
event_count: 6
subscription_management:
documented: false
note: >-
The specification defines what a listener receives, not how a listener registers. No
subscription endpoint appears in the core or module contracts; registration is a
deployment-side configuration concern the published docs do not cover.
gaps:
- No AsyncAPI document.
- No delivery guarantees, retry policy, backoff or dead-letter behaviour documented.
- No payload signing or shared secret documented, on a channel that carries security findings.
- No documented way to register or list listeners.
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/apiclarity-notifications-webhooks"
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.