@asyncapi/specs
Version:
AsyncAPI schema versions
1,237 lines (1,236 loc) • 133 kB
JSON
{
"$id": "http://asyncapi.com/definitions/2.6.0/asyncapi.json",
"$schema": "http://json-schema.org/draft-07/schema",
"title": "AsyncAPI 2.6.0 schema.",
"type": "object",
"required": [
"asyncapi",
"info",
"channels"
],
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"asyncapi": {
"type": "string",
"enum": [
"2.6.0"
],
"description": "The AsyncAPI specification version of this document."
},
"id": {
"type": "string",
"description": "A unique id representing the application.",
"format": "uri"
},
"info": {
"$ref": "http://asyncapi.com/definitions/2.6.0/info.json"
},
"servers": {
"$ref": "http://asyncapi.com/definitions/2.6.0/servers.json"
},
"defaultContentType": {
"type": "string"
},
"channels": {
"$ref": "http://asyncapi.com/definitions/2.6.0/channels.json"
},
"components": {
"$ref": "http://asyncapi.com/definitions/2.6.0/components.json"
},
"tags": {
"type": "array",
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/tag.json"
},
"uniqueItems": true
},
"externalDocs": {
"$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json"
}
},
"definitions": {
"http://asyncapi.com/definitions/2.6.0/specificationExtension.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json",
"description": "Any property starting with x- is valid.",
"additionalProperties": true,
"additionalItems": true
},
"http://asyncapi.com/definitions/2.6.0/info.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/info.json",
"type": "object",
"description": "The object provides metadata about the API. The metadata can be used by the clients if needed.",
"required": [
"version",
"title"
],
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"title": {
"type": "string",
"description": "A unique and precise title of the API."
},
"version": {
"type": "string",
"description": "A semantic version number of the API."
},
"description": {
"type": "string",
"description": "A longer description of the API. Should be different from the title. CommonMark is allowed."
},
"termsOfService": {
"type": "string",
"description": "A URL to the Terms of Service for the API. MUST be in the format of a URL.",
"format": "uri"
},
"contact": {
"$ref": "http://asyncapi.com/definitions/2.6.0/contact.json"
},
"license": {
"$ref": "http://asyncapi.com/definitions/2.6.0/license.json"
}
},
"examples": [
{
"title": "AsyncAPI Sample App",
"description": "This is a sample server.",
"termsOfService": "https://asyncapi.org/terms/",
"contact": {
"name": "API Support",
"url": "https://www.example.com/support",
"email": "support@example.com"
},
"license": {
"name": "Apache 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
}
}
]
},
"http://asyncapi.com/definitions/2.6.0/contact.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/contact.json",
"type": "object",
"description": "Contact information for the exposed API.",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "The identifying name of the contact person/organization."
},
"url": {
"type": "string",
"description": "The URL pointing to the contact information.",
"format": "uri"
},
"email": {
"type": "string",
"description": "The email address of the contact person/organization.",
"format": "email"
}
},
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"examples": [
{
"name": "API Support",
"url": "https://www.example.com/support",
"email": "support@example.com"
}
]
},
"http://asyncapi.com/definitions/2.6.0/license.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/license.json",
"type": "object",
"required": [
"name"
],
"description": "License information for the exposed API.",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "The name of the license type. It's encouraged to use an OSI compatible license."
},
"url": {
"type": "string",
"description": "The URL pointing to the license.",
"format": "uri"
}
},
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"examples": [
{
"name": "Apache 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
}
]
},
"http://asyncapi.com/definitions/2.6.0/servers.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/servers.json",
"description": "The Servers Object is a map of Server Objects.",
"type": "object",
"additionalProperties": {
"oneOf": [
{
"$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json"
},
{
"$ref": "http://asyncapi.com/definitions/2.6.0/server.json"
}
]
},
"examples": [
{
"development": {
"url": "development.gigantic-server.com",
"description": "Development server",
"protocol": "amqp",
"protocolVersion": "0.9.1",
"tags": [
{
"name": "env:development",
"description": "This environment is meant for developers to run their own tests"
}
]
},
"staging": {
"url": "staging.gigantic-server.com",
"description": "Staging server",
"protocol": "amqp",
"protocolVersion": "0.9.1",
"tags": [
{
"name": "env:staging",
"description": "This environment is a replica of the production environment"
}
]
},
"production": {
"url": "api.gigantic-server.com",
"description": "Production server",
"protocol": "amqp",
"protocolVersion": "0.9.1",
"tags": [
{
"name": "env:production",
"description": "This environment is the live environment available for final users"
}
]
}
}
]
},
"http://asyncapi.com/definitions/2.6.0/Reference.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/Reference.json",
"type": "object",
"required": [
"$ref"
],
"properties": {
"$ref": {
"$ref": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json"
}
}
},
"http://asyncapi.com/definitions/2.6.0/ReferenceObject.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json",
"type": "string",
"description": "A simple object to allow referencing other components in the specification, internally and externally.",
"format": "uri-reference",
"examples": [
{
"$ref": "#/components/schemas/Pet"
}
]
},
"http://asyncapi.com/definitions/2.6.0/server.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/server.json",
"type": "object",
"description": "An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data",
"required": [
"url",
"protocol"
],
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"url": {
"type": "string",
"description": "A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served."
},
"description": {
"type": "string",
"description": "An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation."
},
"protocol": {
"type": "string",
"description": "The protocol this URL supports for connection. Supported protocol include, but are not limited to: amqp, amqps, http, https, ibmmq, jms, kafka, kafka-secure, anypointmq, mqtt, secure-mqtt, solace, stomp, stomps, ws, wss, mercure, googlepubsub."
},
"protocolVersion": {
"type": "string",
"description": "The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc."
},
"variables": {
"description": "A map between a variable name and its value. The value is used for substitution in the server's URL template.",
"$ref": "http://asyncapi.com/definitions/2.6.0/serverVariables.json"
},
"security": {
"type": "array",
"description": "A declaration of which security mechanisms can be used with this server. The list of values includes alternative security requirement objects that can be used. ",
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"
}
},
"bindings": {
"description": "A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the server.",
"$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json"
},
"tags": {
"type": "array",
"description": "A list of tags for logical grouping and categorization of servers.",
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/tag.json"
},
"uniqueItems": true
}
},
"examples": [
{
"url": "development.gigantic-server.com",
"description": "Development server",
"protocol": "kafka",
"protocolVersion": "1.0.0"
}
]
},
"http://asyncapi.com/definitions/2.6.0/serverVariables.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/serverVariables.json",
"type": "object",
"description": "A map between a variable name and its value. The value is used for substitution in the server's URL template.",
"additionalProperties": {
"oneOf": [
{
"$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json"
},
{
"$ref": "http://asyncapi.com/definitions/2.6.0/serverVariable.json"
}
]
}
},
"http://asyncapi.com/definitions/2.6.0/serverVariable.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/serverVariable.json",
"type": "object",
"description": "An object representing a Server Variable for server URL template substitution.",
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"enum": {
"type": "array",
"description": "An enumeration of string values to be used if the substitution options are from a limited set.",
"items": {
"type": "string"
},
"uniqueItems": true
},
"default": {
"type": "string",
"description": "The default value to use for substitution, and to send, if an alternate value is not supplied."
},
"description": {
"type": "string",
"description": "An optional description for the server variable. "
},
"examples": {
"type": "array",
"description": "An array of examples of the server variable.",
"items": {
"type": "string"
}
}
}
},
"http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json",
"type": "object",
"description": "Lists of the required security schemes that can be used to execute an operation",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"examples": [
{
"petstore_auth": [
"write:pets",
"read:pets"
]
}
]
},
"http://asyncapi.com/definitions/2.6.0/bindingsObject.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json",
"type": "object",
"description": "Map describing protocol-specific definitions for a server.",
"additionalProperties": true,
"properties": {
"http": {},
"ws": {},
"amqp": {},
"amqp1": {},
"mqtt": {},
"mqtt5": {},
"kafka": {},
"anypointmq": {},
"nats": {},
"jms": {},
"sns": {},
"sqs": {},
"stomp": {},
"redis": {},
"ibmmq": {},
"solace": {},
"googlepubsub": {},
"pulsar": {}
}
},
"http://asyncapi.com/definitions/2.6.0/tag.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/tag.json",
"type": "object",
"description": "Allows adding meta data to a single tag.",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tag."
},
"description": {
"type": "string",
"description": "A short description for the tag."
},
"externalDocs": {
"description": "Additional external documentation for this tag.",
"$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json"
}
},
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"examples": [
{
"name": "user",
"description": "User-related messages"
}
]
},
"http://asyncapi.com/definitions/2.6.0/externalDocs.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/externalDocs.json",
"type": "object",
"additionalProperties": false,
"description": "Allows referencing an external resource for extended documentation.",
"required": [
"url"
],
"properties": {
"description": {
"type": "string",
"description": "A short description of the target documentation."
},
"url": {
"type": "string",
"format": "uri",
"description": "The URL for the target documentation. This MUST be in the form of an absolute URL."
}
},
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"examples": [
{
"description": "Find more info here",
"url": "https://example.com"
}
]
},
"http://asyncapi.com/definitions/2.6.0/channels.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/channels.json",
"type": "object",
"description": "Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers.",
"propertyNames": {
"type": "string",
"format": "uri-template",
"minLength": 1
},
"additionalProperties": {
"$ref": "http://asyncapi.com/definitions/2.6.0/channelItem.json"
},
"examples": [
{
"user/signedup": {
"subscribe": {
"message": {
"$ref": "#/components/messages/userSignedUp"
}
}
}
}
]
},
"http://asyncapi.com/definitions/2.6.0/channelItem.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/channelItem.json",
"type": "object",
"description": "Describes the operations available on a single channel.",
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"$ref": {
"$ref": "http://asyncapi.com/definitions/2.6.0/ReferenceObject.json"
},
"parameters": {
"$ref": "http://asyncapi.com/definitions/2.6.0/parameters.json"
},
"description": {
"type": "string",
"description": "A description of the channel."
},
"servers": {
"type": "array",
"description": "The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.",
"items": {
"type": "string"
},
"uniqueItems": true
},
"publish": {
"$ref": "http://asyncapi.com/definitions/2.6.0/operation.json"
},
"subscribe": {
"$ref": "http://asyncapi.com/definitions/2.6.0/operation.json"
},
"deprecated": {
"type": "boolean",
"default": false
},
"bindings": {
"$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json"
}
},
"examples": [
{
"description": "This channel is used to exchange messages about users signing up",
"subscribe": {
"summary": "A user signed up.",
"message": {
"description": "A longer description of the message",
"payload": {
"type": "object",
"properties": {
"user": {
"$ref": "#/components/schemas/user"
},
"signup": {
"$ref": "#/components/schemas/signup"
}
}
}
}
},
"bindings": {
"amqp": {
"is": "queue",
"queue": {
"exclusive": true
}
}
}
},
{
"subscribe": {
"message": {
"oneOf": [
{
"$ref": "#/components/messages/signup"
},
{
"$ref": "#/components/messages/login"
}
]
}
}
},
{
"description": "This application publishes WebUICommand messages to an AMQP queue on RabbitMQ brokers in the Staging and Production environments.",
"servers": [
"rabbitmqBrokerInProd",
"rabbitmqBrokerInStaging"
],
"subscribe": {
"message": {
"$ref": "#/components/messages/WebUICommand"
}
},
"bindings": {
"amqp": {
"is": "queue"
}
}
}
]
},
"http://asyncapi.com/definitions/2.6.0/parameters.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/parameters.json",
"type": "object",
"description": "JSON objects describing reusable channel parameters.",
"additionalProperties": {
"oneOf": [
{
"$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json"
},
{
"$ref": "http://asyncapi.com/definitions/2.6.0/parameter.json"
}
]
},
"examples": [
{
"user/{userId}/signup": {
"parameters": {
"userId": {
"description": "Id of the user.",
"schema": {
"type": "string"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/userSignedUp"
}
}
}
}
]
},
"http://asyncapi.com/definitions/2.6.0/parameter.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/parameter.json",
"description": "Describes a parameter included in a channel name.",
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"description": {
"type": "string",
"description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."
},
"schema": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},
"location": {
"type": "string",
"description": "A runtime expression that specifies the location of the parameter value",
"pattern": "^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"
}
},
"examples": [
{
"user/{userId}/signup": {
"parameters": {
"userId": {
"description": "Id of the user.",
"schema": {
"type": "string"
},
"location": "$message.payload#/user/id"
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/userSignedUp"
}
}
}
}
]
},
"http://asyncapi.com/definitions/2.6.0/schema.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/schema.json",
"description": "The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays.",
"allOf": [
{
"$ref": "http://json-schema.org/draft-07/schema#"
},
{
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"additionalProperties": {
"anyOf": [
{
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},
{
"type": "boolean"
}
],
"default": {}
},
"items": {
"anyOf": [
{
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},
{
"type": "array",
"minItems": 1,
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
}
}
],
"default": {}
},
"allOf": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
}
},
"oneOf": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
}
},
"anyOf": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
}
},
"not": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},
"default": {}
},
"patternProperties": {
"type": "object",
"additionalProperties": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},
"default": {}
},
"propertyNames": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},
"contains": {
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},
"discriminator": {
"type": "string",
"description": "Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between other schema that inherit this schema. "
},
"externalDocs": {
"description": "Additional external documentation for this schema.",
"$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json"
},
"deprecated": {
"type": "boolean",
"default": false,
"description": "Specifies that a schema is deprecated and SHOULD be transitioned out of usage"
}
}
}
],
"examples": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"address": {
"$ref": "#/components/schemas/Address"
},
"age": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
}
]
},
"http://json-schema.org/draft-07/schema": {
"$id": "http://json-schema.org/draft-07/schema",
"title": "Core schema meta-schema",
"definitions": {
"schemaArray": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#"
}
},
"nonNegativeInteger": {
"type": "integer",
"minimum": 0
},
"nonNegativeIntegerDefault0": {
"allOf": [
{
"$ref": "#/definitions/nonNegativeInteger"
},
{
"default": 0
}
]
},
"simpleTypes": {
"enum": [
"array",
"boolean",
"integer",
"null",
"number",
"object",
"string"
]
},
"stringArray": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"default": []
}
},
"type": [
"object",
"boolean"
],
"properties": {
"$id": {
"type": "string",
"format": "uri-reference"
},
"$schema": {
"type": "string",
"format": "uri"
},
"$ref": {
"type": "string",
"format": "uri-reference"
},
"$comment": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"default": true,
"readOnly": {
"type": "boolean",
"default": false
},
"writeOnly": {
"type": "boolean",
"default": false
},
"examples": {
"type": "array",
"items": true
},
"multipleOf": {
"type": "number",
"exclusiveMinimum": 0
},
"maximum": {
"type": "number"
},
"exclusiveMaximum": {
"type": "number"
},
"minimum": {
"type": "number"
},
"exclusiveMinimum": {
"type": "number"
},
"maxLength": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minLength": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"pattern": {
"type": "string",
"format": "regex"
},
"additionalItems": {
"$ref": "#"
},
"items": {
"anyOf": [
{
"$ref": "#"
},
{
"$ref": "#/definitions/schemaArray"
}
],
"default": true
},
"maxItems": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minItems": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"uniqueItems": {
"type": "boolean",
"default": false
},
"contains": {
"$ref": "#"
},
"maxProperties": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minProperties": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"required": {
"$ref": "#/definitions/stringArray"
},
"additionalProperties": {
"$ref": "#"
},
"definitions": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"patternProperties": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"propertyNames": {
"format": "regex"
},
"default": {}
},
"dependencies": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"$ref": "#"
},
{
"$ref": "#/definitions/stringArray"
}
]
}
},
"propertyNames": {
"$ref": "#"
},
"const": true,
"enum": {
"type": "array",
"items": true,
"minItems": 1,
"uniqueItems": true
},
"type": {
"anyOf": [
{
"$ref": "#/definitions/simpleTypes"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/simpleTypes"
},
"minItems": 1,
"uniqueItems": true
}
]
},
"format": {
"type": "string"
},
"contentMediaType": {
"type": "string"
},
"contentEncoding": {
"type": "string"
},
"if": {
"$ref": "#"
},
"then": {
"$ref": "#"
},
"else": {
"$ref": "#"
},
"allOf": {
"$ref": "#/definitions/schemaArray"
},
"anyOf": {
"$ref": "#/definitions/schemaArray"
},
"oneOf": {
"$ref": "#/definitions/schemaArray"
},
"not": {
"$ref": "#"
}
},
"default": true
},
"http://asyncapi.com/definitions/2.6.0/operation.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/operation.json",
"type": "object",
"description": "Describes a publish or a subscribe operation. This provides a place to document how and why messages are sent and received.",
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"traits": {
"type": "array",
"description": "A list of traits to apply to the operation object.",
"items": {
"oneOf": [
{
"$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json"
},
{
"$ref": "http://asyncapi.com/definitions/2.6.0/operationTrait.json"
}
]
}
},
"summary": {
"type": "string",
"description": "A short summary of what the operation is about."
},
"description": {
"type": "string",
"description": "A verbose explanation of the operation."
},
"security": {
"type": "array",
"description": "A declaration of which security mechanisms are associated with this operation.",
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"
}
},
"tags": {
"type": "array",
"description": "A list of tags for logical grouping and categorization of operations.",
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/tag.json"
},
"uniqueItems": true
},
"externalDocs": {
"$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json"
},
"operationId": {
"type": "string"
},
"bindings": {
"$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json"
},
"message": {
"$ref": "http://asyncapi.com/definitions/2.6.0/message.json"
}
},
"examples": [
{
"user/signedup": {
"subscribe": {
"message": {
"$ref": "#/components/messages/userSignedUp"
}
}
}
}
]
},
"http://asyncapi.com/definitions/2.6.0/operationTrait.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/operationTrait.json",
"type": "object",
"description": "Describes a trait that MAY be applied to an Operation Object.",
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"summary": {
"type": "string",
"description": "A short summary of what the operation is about."
},
"description": {
"type": "string",
"description": "A verbose explanation of the operation."
},
"tags": {
"type": "array",
"description": "A list of tags for logical grouping and categorization of operations.",
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/tag.json"
},
"uniqueItems": true
},
"externalDocs": {
"$ref": "http://asyncapi.com/definitions/2.6.0/externalDocs.json"
},
"operationId": {
"type": "string",
"description": "Unique string used to identify the operation. The id MUST be unique among all operations described in the API."
},
"security": {
"type": "array",
"description": "A declaration of which security mechanisms are associated with this operation. ",
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/SecurityRequirement.json"
}
},
"bindings": {
"$ref": "http://asyncapi.com/definitions/2.6.0/bindingsObject.json"
}
},
"examples": [
{
"bindings": {
"amqp": {
"ack": false
}
}
}
]
},
"http://asyncapi.com/definitions/2.6.0/message.json": {
"$id": "http://asyncapi.com/definitions/2.6.0/message.json",
"description": "Describes a message received on a given channel and operation.",
"oneOf": [
{
"$ref": "http://asyncapi.com/definitions/2.6.0/Reference.json"
},
{
"oneOf": [
{
"type": "object",
"required": [
"oneOf"
],
"additionalProperties": false,
"properties": {
"oneOf": {
"type": "array",
"items": {
"$ref": "http://asyncapi.com/definitions/2.6.0/message.json"
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^x-[\\w\\d\\.\\x2d_]+$": {
"$ref": "http://asyncapi.com/definitions/2.6.0/specificationExtension.json"
}
},
"properties": {
"schemaFormat": {
"type": "string"
},
"contentType": {
"type": "string"
},
"headers": {
"allOf": [
{
"$ref": "http://asyncapi.com/definitions/2.6.0/schema.json"
},