UNPKG

@asyncapi/specs

Version:
267 lines 8.36 kB
{ "oneOf": [ { "$ref": "http://asyncapi.com/definitions/2.3.0/Reference.json" }, { "oneOf": [ { "type": "object", "required": [ "oneOf" ], "additionalProperties": false, "properties": { "oneOf": { "type": "array", "items": { "$ref": "http://asyncapi.com/definitions/2.3.0/message.json" } } } }, { "type": "object", "additionalProperties": false, "patternProperties": { "^x-[\\w\\d\\.\\x2d_]+$": { "$ref": "http://asyncapi.com/definitions/2.3.0/specificationExtension.json" } }, "properties": { "schemaFormat": { "type": "string" }, "contentType": { "type": "string" }, "headers": { "allOf": [ { "$ref": "http://asyncapi.com/definitions/2.3.0/schema.json" }, { "properties": { "type": { "const": "object" } } } ] }, "payload": {}, "correlationId": { "oneOf": [ { "$ref": "http://asyncapi.com/definitions/2.3.0/Reference.json" }, { "$ref": "http://asyncapi.com/definitions/2.3.0/correlationId.json" } ] }, "tags": { "type": "array", "items": { "$ref": "http://asyncapi.com/definitions/2.3.0/tag.json" }, "uniqueItems": true }, "summary": { "type": "string", "description": "A brief summary of the message." }, "name": { "type": "string", "description": "Name of the message." }, "title": { "type": "string", "description": "A human-friendly title for the message." }, "description": { "type": "string", "description": "A longer description of the message. CommonMark is allowed." }, "externalDocs": { "$ref": "http://asyncapi.com/definitions/2.3.0/externalDocs.json" }, "deprecated": { "type": "boolean", "default": false }, "examples": { "type": "array", "items": { "type": "object", "additionalProperties": false, "anyOf": [ { "required": [ "payload" ] }, { "required": [ "headers" ] } ], "properties": { "name": { "type": "string", "description": "Machine readable name of the message example." }, "summary": { "type": "string", "description": "A brief summary of the message example." }, "headers": { "type": "object" }, "payload": {} } } }, "bindings": { "$ref": "http://asyncapi.com/definitions/2.3.0/bindingsObject.json" }, "traits": { "type": "array", "items": { "oneOf": [ { "$ref": "http://asyncapi.com/definitions/2.3.0/Reference.json" }, { "$ref": "http://asyncapi.com/definitions/2.3.0/messageTrait.json" } ] } } }, "allOf": [ { "if": { "not": { "required": [ "schemaFormat" ] } }, "then": { "properties": { "payload": { "$ref": "http://asyncapi.com/definitions/2.3.0/schema.json" } } } }, { "if": { "required": [ "schemaFormat" ], "properties": { "schemaFormat": { "enum": [ "application/vnd.aai.asyncapi;version=2.0.0", "application/vnd.aai.asyncapi+json;version=2.0.0", "application/vnd.aai.asyncapi+yaml;version=2.0.0", "application/vnd.aai.asyncapi;version=2.1.0", "application/vnd.aai.asyncapi+json;version=2.1.0", "application/vnd.aai.asyncapi+yaml;version=2.1.0", "application/vnd.aai.asyncapi;version=2.2.0", "application/vnd.aai.asyncapi+json;version=2.2.0", "application/vnd.aai.asyncapi+yaml;version=2.2.0", "application/vnd.aai.asyncapi;version=2.3.0", "application/vnd.aai.asyncapi+json;version=2.3.0", "application/vnd.aai.asyncapi+yaml;version=2.3.0" ] } } }, "then": { "properties": { "payload": { "$ref": "http://asyncapi.com/definitions/2.3.0/schema.json" } } } }, { "if": { "required": [ "schemaFormat" ], "properties": { "schemaFormat": { "enum": [ "application/schema+json;version=draft-07", "application/schema+yaml;version=draft-07" ] } } }, "then": { "properties": { "payload": { "$ref": "http://json-schema.org/draft-07/schema" } } } }, { "if": { "required": [ "schemaFormat" ], "properties": { "schemaFormat": { "enum": [ "application/vnd.oai.openapi;version=3.0.0", "application/vnd.oai.openapi+json;version=3.0.0", "application/vnd.oai.openapi+yaml;version=3.0.0" ] } } }, "then": { "properties": { "payload": { "$ref": "http://asyncapi.com/definitions/2.3.0/openapiSchema_3_0.json" } } } }, { "if": { "required": [ "schemaFormat" ], "properties": { "schemaFormat": { "enum": [ "application/vnd.apache.avro;version=1.9.0", "application/vnd.apache.avro+json;version=1.9.0", "application/vnd.apache.avro+yaml;version=1.9.0" ] } } }, "then": { "properties": { "payload": { "$ref": "http://asyncapi.com/definitions/2.3.0/avroSchema_v1.json" } } } } ] } ] } ], "$schema": "http://json-schema.org/draft-07/schema#", "$id": "http://asyncapi.com/definitions/2.3.0/message.json" }