Modules
Declarative AsyncAPI 3.0 documents for Elixir applications.
A channel: a topic, exchange and routing key, subject, or any other address a message is sent to or received from.
Reusable objects referenced from elsewhere in the document.
Describes where a correlation identifier lives inside a message.
An AsyncAPI 3.0 document.
Converts an AsyncApiSpex.Document into a JSON-encodable map.
Metadata about the API: its title and version, plus optional descriptive and legal fields.
A message on a channel: its metadata, headers, and payload.
An operation on a channel: a :send (the application publishes) or
:receive (the application consumes).
A parameter used in a channel address expression, such as {tenant}.
A Plug that serves an AsyncAPI document with the application/asyncapi+json
content type.
A reference to another object in the document. Encodes as {"$ref": ref}.
Extracts reusable modules into AsyncApiSpex.Components and replaces their
uses with AsyncApiSpex.Reference structs.
Declares a reusable AsyncAPI Schema Object (JSON Schema draft-07).
A message broker or other server the application connects to.
Behaviour for a module that returns a static AsyncAPI document.
A named tag attached to a server, channel, operation, or message.
Checks a resolved AsyncAPI document against the rules this library relies on.
Mix Tasks
Writes an AsyncAPI 3.0 document to a file.