@asyncapi/specs
Advanced tools
Comparing version 2.14.0 to 2.15.0-next-spec.1
@@ -12,2 +12,3 @@ module.exports = { | ||
'2.4.0': require('./schemas/2.4.0.json'), | ||
'2.5.0': require('./schemas/2.5.0.json'), | ||
}; |
{ | ||
"name": "@asyncapi/specs", | ||
"version": "2.14.0", | ||
"version": "2.15.0-next-spec.1", | ||
"description": "AsyncAPI schema versions", | ||
"main": "index.js", | ||
"scripts": { | ||
"test": "nyc mocha", | ||
"test": "npm run build && nyc mocha", | ||
"build": "npm run bundle", | ||
"release": "semantic-release", | ||
"generate:assets": "echo 'No additional assets need to be generated at the moment'", | ||
"generate:assets": "npm run build", | ||
"prepublishOnly": "npm run build", | ||
"bundle": "cd tools/bundler && npm i && npm run bundle", | ||
"startNewVersion": "newVersion=$npm_config_new_version node scripts/add-new-version.js", | ||
"lint": "echo 'No linter integrated yet'", | ||
@@ -43,3 +47,3 @@ "bump:version": "npm --no-git-tag-version --allow-same-version version $VERSION" | ||
"conventional-changelog-conventionalcommits": "^4.2.3", | ||
"semantic-release": "17.4.3" | ||
"semantic-release": "19.0.3" | ||
}, | ||
@@ -50,8 +54,16 @@ "release": { | ||
{ | ||
"name": "2022-04-release", | ||
"name": "next-major", | ||
"prerelease": true | ||
}, | ||
{ | ||
"name": "next-spec", | ||
"prerelease": true | ||
}, | ||
{ | ||
"name": "next-major-spec", | ||
"prerelease": true | ||
}, | ||
{ | ||
"name": "next-major", | ||
"prerelease": true | ||
} | ||
@@ -58,0 +70,0 @@ ], |
![npm](https://img.shields.io/npm/v/@asyncapi/specs?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/specs?style=for-the-badge) | ||
> If you are currently using version 2, check out [migration guideline to version 3](./migrations/Migrate%20to%20version%203.md). You might be able to update it without any change. | ||
# AsyncAPI | ||
This is a mono repository, which provides all the JSON Schema documents for validating AsyncAPI documents. | ||
## Overview | ||
* This repository contains [JSON Schema](https://json-schema.org) files for all the versions of AsyncAPI specification. | ||
* These JSON Schema files do not reflect 1:1 the specification and shouldn't be treated as specification itself but rather as a tool (e.g., for validation). | ||
* These JSON Schema files shouldn't be used as the only tool for validating AsyncAPI documents because some rules described in the AsyncAPI specification can't be described with JSON Schema. | ||
* In addition, this repo provides JavaScript and Go modules that make it easier to access JSON Schema files through code. | ||
This package provides all the versions of the AsyncAPI schema. | ||
## Custom Validation Needs | ||
If you decide to validate AsyncAPI documents only with the JSON Schema files provided in this repo, your AsyncAPI documents will not be properly validated. | ||
It's recommended to use [AsyncAPI JavaScript Parser](https://github.com/asyncapi/parser-js) that uses the AsyncAPI JSON Schema files for validation but also implements additional custom validations. | ||
The following additional custom validations need to be provided: | ||
* Variables provided in the URL property have a corresponding variable object defined and its example is correct. | ||
* operationIds are not duplicated in the document. | ||
* messageIds are not duplicated in the document. | ||
* Server security is declared properly and the name has a corresponding `securitySchemes` definition in `components` with the same name. | ||
* Server `securitySchemes` is an empty array when the security type requires it. | ||
* Parameters specified in the channel name have corresponding parameters object defined. | ||
* Channel names do not contain URL parameters. | ||
* All servers listed for a channel in the `servers` property are declared in the top-level `servers` object. | ||
* Tags specified in any object have no duplicates. Check must be done for: the top-level object, operations (publish and subscribe), operation traits, channels, messages, and message traits. | ||
At the moment, AsyncAPI JavaScript parser do not cover all validation cases yet | ||
All test cases and parsers coverage can be found [here](https://asyncapi.github.io/tck/) | ||
@@ -18,3 +40,2 @@ ## Installation | ||
``` | ||
## Usage | ||
@@ -49,5 +70,3 @@ | ||
``` | ||
### Go | ||
Grab a specific AsyncAPI version: | ||
@@ -66,3 +85,47 @@ | ||
} | ||
``` | ||
## Repository structure | ||
This is the current project structure explained. | ||
- [./definitions](./definitions) - contain all the individual schemas that will automatically be bundled together to provide the schemas in [./schemas](./schemas). | ||
- [./tools/bundler](./tools/bundler) - is the tool that bundles all the individual schemas together. | ||
- [./schemas](./schemas) - contain all automatically bundled and complete schemas for each AsyncAPI version. These schemas should **NOT** be manually changed as they are automatically generated. Any changes should be done in [./definitions](./definitions). | ||
``` | ||
## Schema Bundling | ||
Changes should not be done manually to the schemas in [./schemas](./schemas), but instead be done in their individual definitions located in [./definitions](./definitions). | ||
These definitions are automatically bundled together on new releases through the npm script `prepublishOnly`, which ensures the project is build. This is where the [bundler](./tools/bundler) is called. | ||
For example, for [2.2.0](./definitions/2.2.0), the [bundler](./tools/bundler/index.js) starts with the [asyncapi.json](definitions/2.2.0/asyncapi.json) file and recursively goes through all references (`$ref`) to create the [appropriate bundled version](./schemas/2.2.0.json). | ||
### Creating a new version | ||
To create a new version, simply run the following command: | ||
``` | ||
npm run startNewVersion --new-version=x.x.x | ||
``` | ||
Where `x.x.x` is the new version you want to create. | ||
The manual process of creating a new version is to: | ||
1. Duplicate the latest version (`y.y.y`) under definitions (so we have the correct base to make changes from). | ||
2. Rename the folder to the new version (`x.x.x`). | ||
3. Search and replace in the new duplicated folder for `y.y.y` and replace it with `x.x.x`. | ||
4. Edit the [index.js](./index.js) file adding a new line with the new version. I.e. `'2.5.0': require('./schemas/2.5.0.json'),`. | ||
5. Edit the [schemas/all.schema-store.json](./schemas/all.schema-store.json) file adding a new entry under the `oneOf` keyword with the new version. I.e.: | ||
```json | ||
{ | ||
"allOf":[ | ||
{ | ||
"properties":{ | ||
"asyncapi":{ | ||
"const":"2.5.0" | ||
} | ||
} | ||
}, | ||
{ | ||
"$ref":"http://asyncapi.com/schema-store/2.5.0.json" | ||
} | ||
] | ||
} | ||
``` | ||
{ | ||
"title": "AsyncAPI 1.0 schema.", | ||
"id": "http://asyncapi.hitchhq.com/v1/schema.json#", | ||
"$schema": "http://json-schema.org/draft-04/schema#", | ||
"type": "object", | ||
"required": [ | ||
"asyncapi", | ||
"info", | ||
"topics" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"asyncapi": { | ||
"type": "string", | ||
"enum": [ | ||
"1.0.0" | ||
], | ||
"description": "The AsyncAPI specification version of this document." | ||
}, | ||
"info": { | ||
"$ref": "#/definitions/info" | ||
}, | ||
"baseTopic": { | ||
"type": "string", | ||
"pattern": "^[^/.]", | ||
"description": "The base topic to the API. Example: 'hitch'.", | ||
"default": "" | ||
}, | ||
"servers": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/server" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"topics": { | ||
"$ref": "#/definitions/topics" | ||
}, | ||
"components": { | ||
"$ref": "#/definitions/components" | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/tag" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"security": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/SecurityRequirement" | ||
} | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
} | ||
}, | ||
"definitions": { | ||
"Reference": { | ||
"type": "object", | ||
"required": [ | ||
"$ref" | ||
], | ||
"properties": { | ||
"$ref": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
} | ||
}, | ||
"info": { | ||
"type": "object", | ||
"description": "General information about the API.", | ||
"required": [ | ||
"version", | ||
"title" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/asyncapi.json", | ||
"$schema": "http://json-schema.org/draft-04/schema", | ||
"title": "AsyncAPI 1.0 schema.", | ||
"type": "object", | ||
"required": [ | ||
"asyncapi", | ||
"info", | ||
"topics" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.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": "#/definitions/contact" | ||
}, | ||
"license": { | ||
"$ref": "#/definitions/license" | ||
} | ||
} | ||
}, | ||
"contact": { | ||
"type": "object", | ||
"description": "Contact information for the owners of the API.", | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string", | ||
"description": "The identifying name of the contact person/organization." | ||
"properties": { | ||
"asyncapi": { | ||
"type": "string", | ||
"enum": [ | ||
"1.0.0" | ||
], | ||
"description": "The AsyncAPI specification version of this document." | ||
}, | ||
"url": { | ||
"type": "string", | ||
"description": "The URL pointing to the contact information.", | ||
"format": "uri" | ||
"info": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/info.json" | ||
}, | ||
"email": { | ||
"type": "string", | ||
"description": "The email address of the contact person/organization.", | ||
"format": "email" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"license": { | ||
"type": "object", | ||
"required": [ | ||
"name" | ||
], | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string", | ||
"description": "The name of the license type. It's encouraged to use an OSI compatible license." | ||
"baseTopic": { | ||
"type": "string", | ||
"pattern": "^[^/.]", | ||
"description": "The base topic to the API. Example: 'hitch'.", | ||
"default": "" | ||
}, | ||
"url": { | ||
"type": "string", | ||
"description": "The URL pointing to the license.", | ||
"format": "uri" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"server": { | ||
"type": "object", | ||
"description": "An object representing a Server.", | ||
"required": [ | ||
"url", | ||
"scheme" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"url": { | ||
"type": "string" | ||
"servers": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/server.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"description": { | ||
"type": "string" | ||
"topics": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/topics.json" | ||
}, | ||
"scheme": { | ||
"type": "string", | ||
"description": "The transfer protocol.", | ||
"enum": [ | ||
"kafka", | ||
"kafka-secure", | ||
"amqp", | ||
"amqps", | ||
"mqtt", | ||
"mqtts", | ||
"secure-mqtt", | ||
"ws", | ||
"wss", | ||
"stomp", | ||
"stomps" | ||
] | ||
"components": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/components.json" | ||
}, | ||
"schemeVersion": { | ||
"type": "string" | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/tag.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"variables": { | ||
"$ref": "#/definitions/serverVariables" | ||
} | ||
} | ||
}, | ||
"serverVariables": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/serverVariable" | ||
} | ||
}, | ||
"serverVariable": { | ||
"type": "object", | ||
"description": "An object representing a Server Variable for server URL template substitution.", | ||
"minProperties": 1, | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"enum": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"uniqueItems": true | ||
"security": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/SecurityRequirement.json" | ||
} | ||
}, | ||
"default": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/externalDocs.json" | ||
} | ||
} | ||
}, | ||
"topics": { | ||
"type": "object", | ||
"description": "Relative paths to the individual topics. They must be relative to the 'baseTopic'.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
"definitions": { | ||
"http://asyncapi.com/definitions/1.0.0/vendorExtension.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json", | ||
"description": "Any property starting with x- is valid.", | ||
"additionalProperties": true, | ||
"additionalItems": true | ||
}, | ||
"^[^.]": { | ||
"$ref": "#/definitions/topicItem" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"components": { | ||
"type": "object", | ||
"description": "An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.", | ||
"additionalProperties": false, | ||
"properties": { | ||
"schemas": { | ||
"$ref": "#/definitions/schemas" | ||
"http://asyncapi.com/definitions/1.0.0/info.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/info.json", | ||
"type": "object", | ||
"description": "General information about the API.", | ||
"required": [ | ||
"version", | ||
"title" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.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/1.0.0/contact.json" | ||
}, | ||
"license": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/license.json" | ||
} | ||
} | ||
}, | ||
"messages": { | ||
"$ref": "#/definitions/messages" | ||
"http://asyncapi.com/definitions/1.0.0/contact.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/contact.json", | ||
"type": "object", | ||
"description": "Contact information for the owners of the 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-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
} | ||
}, | ||
"securitySchemes": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^[a-zA-Z0-9\\.\\-_]+$": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/Reference" }, | ||
{ "$ref": "#/definitions/SecurityScheme" } | ||
] | ||
"http://asyncapi.com/definitions/1.0.0/license.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/license.json", | ||
"type": "object", | ||
"required": [ | ||
"name" | ||
], | ||
"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-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"schemas": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"description": "JSON objects describing schemas the API uses." | ||
}, | ||
"messages": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/message" | ||
}, | ||
"description": "JSON objects describing the messages being consumed and produced by the API." | ||
}, | ||
"schema": { | ||
"type": "object", | ||
"description": "A deterministic version of a JSON Schema object.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"format": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.0.0/server.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/server.json", | ||
"type": "object", | ||
"description": "An object representing a Server.", | ||
"required": [ | ||
"url", | ||
"scheme" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"url": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"scheme": { | ||
"type": "string", | ||
"description": "The transfer protocol.", | ||
"enum": [ | ||
"kafka", | ||
"kafka-secure", | ||
"amqp", | ||
"amqps", | ||
"mqtt", | ||
"mqtts", | ||
"secure-mqtt", | ||
"ws", | ||
"wss", | ||
"stomp", | ||
"stomps" | ||
] | ||
}, | ||
"schemeVersion": { | ||
"type": "string" | ||
}, | ||
"variables": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/serverVariables.json" | ||
} | ||
} | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
"http://asyncapi.com/definitions/1.0.0/serverVariables.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/serverVariables.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/serverVariable.json" | ||
} | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
"http://asyncapi.com/definitions/1.0.0/serverVariable.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/serverVariable.json", | ||
"type": "object", | ||
"description": "An object representing a Server Variable for server URL template substitution.", | ||
"minProperties": 1, | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"enum": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"default": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
"http://asyncapi.com/definitions/1.0.0/topics.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/topics.json", | ||
"type": "object", | ||
"description": "Relative paths to the individual topics. They must be relative to the 'baseTopic'.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
}, | ||
"^[^.]": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/topicItem.json" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
"http://asyncapi.com/definitions/1.0.0/topicItem.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/topicItem.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"publish": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/message.json" | ||
}, | ||
"subscribe": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/message.json" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
"http://asyncapi.com/definitions/1.0.0/message.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/message.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"headers": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schema.json" | ||
}, | ||
"payload": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schema.json" | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/tag.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"summary": { | ||
"type": "string", | ||
"description": "A brief summary of the message." | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "A longer description of the message. CommonMark is allowed." | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/externalDocs.json" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"example": {} | ||
} | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
"http://asyncapi.com/definitions/1.0.0/schema.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/schema.json", | ||
"type": "object", | ||
"description": "A deterministic version of a JSON Schema object.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"format": { | ||
"type": "string" | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
}, | ||
"maxProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schema.json" | ||
}, | ||
{ | ||
"type": "boolean" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"type": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/type" | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schema.json" | ||
}, | ||
{ | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schema.json" | ||
} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"allOf": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schema.json" | ||
} | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schema.json" | ||
}, | ||
"default": {} | ||
}, | ||
"discriminator": { | ||
"type": "string" | ||
}, | ||
"readOnly": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"xml": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/xml.json" | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/externalDocs.json" | ||
}, | ||
"example": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
"http://json-schema.org/draft-04/schema": { | ||
"id": "http://json-schema.org/draft-04/schema", | ||
"description": "Core schema meta-schema", | ||
"definitions": { | ||
"schemaArray": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#" | ||
} | ||
}, | ||
"positiveInteger": { | ||
"type": "integer", | ||
"minimum": 0 | ||
}, | ||
"positiveIntegerDefault0": { | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
{ | ||
"default": 0 | ||
} | ||
] | ||
}, | ||
"simpleTypes": { | ||
"enum": [ | ||
"array", | ||
"boolean", | ||
"integer", | ||
"null", | ||
"number", | ||
"object", | ||
"string" | ||
] | ||
}, | ||
"stringArray": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"minItems": 1, | ||
"uniqueItems": true | ||
} | ||
}, | ||
"type": "object", | ||
"properties": { | ||
"id": { | ||
"type": "string" | ||
}, | ||
"$schema": { | ||
"type": "string" | ||
}, | ||
"title": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"default": {}, | ||
"multipleOf": { | ||
"type": "number", | ||
"minimum": 0, | ||
"exclusiveMinimum": true | ||
}, | ||
"maximum": { | ||
"type": "number" | ||
}, | ||
"exclusiveMaximum": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"minimum": { | ||
"type": "number" | ||
}, | ||
"exclusiveMinimum": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"maxLength": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"type": "string", | ||
"format": "regex" | ||
}, | ||
"additionalItems": { | ||
"anyOf": [ | ||
{ | ||
"type": "boolean" | ||
}, | ||
{ | ||
"$ref": "#" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#" | ||
}, | ||
{ | ||
"$ref": "#/definitions/schemaArray" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"maxItems": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"maxProperties": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minProperties": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "#/definitions/stringArray" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"type": "boolean" | ||
}, | ||
{ | ||
"$ref": "#" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"definitions": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"patternProperties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"dependencies": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#" | ||
}, | ||
{ | ||
"$ref": "#/definitions/stringArray" | ||
} | ||
] | ||
} | ||
}, | ||
"enum": { | ||
"type": "array", | ||
"minItems": 1, | ||
"uniqueItems": true | ||
}, | ||
"type": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/simpleTypes" | ||
}, | ||
{ | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/simpleTypes" | ||
}, | ||
"minItems": 1, | ||
"uniqueItems": true | ||
} | ||
] | ||
}, | ||
"format": { | ||
"type": "string" | ||
}, | ||
"allOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"anyOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"oneOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"not": { | ||
"$ref": "#" | ||
} | ||
}, | ||
"dependencies": { | ||
"exclusiveMaximum": [ | ||
"maximum" | ||
], | ||
"exclusiveMinimum": [ | ||
"minimum" | ||
] | ||
}, | ||
"default": {} | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
"http://asyncapi.com/definitions/1.0.0/xml.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/xml.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"namespace": { | ||
"type": "string" | ||
}, | ||
"prefix": { | ||
"type": "string" | ||
}, | ||
"attribute": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"wrapped": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
}, | ||
"maxProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.0.0/externalDocs.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/externalDocs.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"description": "information about external documentation", | ||
"required": [ | ||
"url" | ||
], | ||
"properties": { | ||
"description": { | ||
"type": "string" | ||
}, | ||
"url": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
}, | ||
{ | ||
"type": "boolean" | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"type": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/type" | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.0.0/tag.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/tag.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"required": [ | ||
"name" | ||
], | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/externalDocs.json" | ||
} | ||
}, | ||
{ | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/vendorExtension.json" | ||
} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"allOf": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"http://asyncapi.com/definitions/1.0.0/components.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/components.json", | ||
"type": "object", | ||
"description": "An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.", | ||
"additionalProperties": false, | ||
"properties": { | ||
"schemas": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schemas.json" | ||
}, | ||
"messages": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/messages.json" | ||
}, | ||
"securitySchemes": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^[a-zA-Z0-9\\.\\-_]+$": { | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/Reference.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/SecurityScheme.json" | ||
} | ||
] | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"default": {} | ||
"http://asyncapi.com/definitions/1.0.0/schemas.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/schemas.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/schema.json" | ||
}, | ||
"description": "JSON objects describing schemas the API uses." | ||
}, | ||
"discriminator": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.0.0/messages.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/messages.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/message.json" | ||
}, | ||
"description": "JSON objects describing the messages being consumed and produced by the API." | ||
}, | ||
"readOnly": { | ||
"type": "boolean", | ||
"default": false | ||
"http://asyncapi.com/definitions/1.0.0/Reference.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/Reference.json", | ||
"type": "object", | ||
"required": [ | ||
"$ref" | ||
], | ||
"properties": { | ||
"$ref": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
} | ||
}, | ||
"xml": { | ||
"$ref": "#/definitions/xml" | ||
"http://asyncapi.com/definitions/1.0.0/SecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/SecurityScheme.json", | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/userPassword.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/apiKey.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/X509.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/symmetricEncryption.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/asymmetricEncryption.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/HTTPSecurityScheme.json" | ||
} | ||
] | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
"http://asyncapi.com/definitions/1.0.0/userPassword.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/userPassword.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"userPassword" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"example": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"xml": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.0.0/apiKey.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/apiKey.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"apiKey" | ||
] | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"user", | ||
"password" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"namespace": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.0.0/X509.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/X509.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"X509" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"prefix": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.0.0/symmetricEncryption.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/symmetricEncryption.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"symmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"attribute": { | ||
"type": "boolean", | ||
"default": false | ||
"http://asyncapi.com/definitions/1.0.0/asymmetricEncryption.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/asymmetricEncryption.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"asymmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"wrapped": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"externalDocs": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"description": "information about external documentation", | ||
"required": [ | ||
"url" | ||
], | ||
"properties": { | ||
"description": { | ||
"type": "string" | ||
}, | ||
"url": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"topicItem": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"publish": { | ||
"$ref": "#/definitions/message" | ||
}, | ||
"subscribe": { | ||
"$ref": "#/definitions/message" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"message": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"headers": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"payload": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/tag" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"summary": { | ||
"type": "string", | ||
"description": "A brief summary of the message." | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "A longer description of the message. CommonMark is allowed." | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"example": {} | ||
} | ||
}, | ||
"vendorExtension": { | ||
"description": "Any property starting with x- is valid.", | ||
"additionalProperties": true, | ||
"additionalItems": true | ||
}, | ||
"tag": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"required": [ | ||
"name" | ||
], | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"SecurityScheme": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/userPassword" }, | ||
{ "$ref": "#/definitions/apiKey" }, | ||
{ "$ref": "#/definitions/X509" }, | ||
{ "$ref": "#/definitions/symmetricEncryption" }, | ||
{ "$ref": "#/definitions/asymmetricEncryption" }, | ||
{ "$ref": "#/definitions/HTTPSecurityScheme" } | ||
] | ||
}, | ||
"userPassword": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"userPassword" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"apiKey": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"apiKey" | ||
] | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"user", | ||
"password" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"X509": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"X509" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"symmetricEncryption": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"symmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"asymmetricEncryption": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"asymmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"HTTPSecurityScheme": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/NonBearerHTTPSecurityScheme" }, | ||
{ "$ref": "#/definitions/BearerHTTPSecurityScheme" }, | ||
{ "$ref": "#/definitions/APIKeyHTTPSecurityScheme" } | ||
] | ||
}, | ||
"NonBearerHTTPSecurityScheme": { | ||
"not": { | ||
"type": "object", | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
"http://asyncapi.com/definitions/1.0.0/HTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/HTTPSecurityScheme.json", | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/NonBearerHTTPSecurityScheme.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/BearerHTTPSecurityScheme.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.0.0/APIKeyHTTPSecurityScheme.json" | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"type": "object", | ||
"required": [ | ||
"scheme", | ||
"type" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.0.0/NonBearerHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/NonBearerHTTPSecurityScheme.json", | ||
"not": { | ||
"type": "object", | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
} | ||
} | ||
}, | ||
"type": "object", | ||
"required": [ | ||
"scheme", | ||
"type" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"BearerHTTPSecurityScheme": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"scheme" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
"http://asyncapi.com/definitions/1.0.0/BearerHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/BearerHTTPSecurityScheme.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"scheme" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
}, | ||
"bearerFormat": { | ||
"type": "string" | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"bearerFormat": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.0.0/APIKeyHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/APIKeyHTTPSecurityScheme.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"name", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"httpApiKey" | ||
] | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"header", | ||
"query", | ||
"cookie" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.0.0/SecurityRequirement.json": { | ||
"id": "http://asyncapi.com/definitions/1.0.0/SecurityRequirement.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"APIKeyHTTPSecurityScheme": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"name", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"httpApiKey" | ||
] | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"header", | ||
"query", | ||
"cookie" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"SecurityRequirement": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
} | ||
} | ||
} | ||
"description": "!!Auto generated!! \n Do not manually edit. " | ||
} |
{ | ||
"title": "AsyncAPI 1.1.0 schema.", | ||
"id": "http://asyncapi.hitchhq.com/v1/schema.json#", | ||
"$schema": "http://json-schema.org/draft-04/schema#", | ||
"type": "object", | ||
"required": [ | ||
"asyncapi", | ||
"info", | ||
"topics" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"asyncapi": { | ||
"type": "string", | ||
"enum": [ | ||
"1.0.0", | ||
"1.1.0" | ||
], | ||
"description": "The AsyncAPI specification version of this document." | ||
}, | ||
"info": { | ||
"$ref": "#/definitions/info" | ||
}, | ||
"baseTopic": { | ||
"type": "string", | ||
"pattern": "^[^/.]", | ||
"description": "The base topic to the API. Example: 'hitch'.", | ||
"default": "" | ||
}, | ||
"servers": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/server" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"topics": { | ||
"$ref": "#/definitions/topics" | ||
}, | ||
"components": { | ||
"$ref": "#/definitions/components" | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/tag" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"security": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/SecurityRequirement" | ||
} | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
} | ||
}, | ||
"definitions": { | ||
"Reference": { | ||
"type": "object", | ||
"required": [ | ||
"$ref" | ||
], | ||
"properties": { | ||
"$ref": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
} | ||
}, | ||
"info": { | ||
"type": "object", | ||
"description": "General information about the API.", | ||
"required": [ | ||
"version", | ||
"title" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/asyncapi.json", | ||
"$schema": "http://json-schema.org/draft-04/schema", | ||
"title": "AsyncAPI 1.1.0 schema.", | ||
"type": "object", | ||
"required": [ | ||
"asyncapi", | ||
"info", | ||
"topics" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.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": "#/definitions/contact" | ||
}, | ||
"license": { | ||
"$ref": "#/definitions/license" | ||
} | ||
} | ||
}, | ||
"contact": { | ||
"type": "object", | ||
"description": "Contact information for the owners of the API.", | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string", | ||
"description": "The identifying name of the contact person/organization." | ||
"properties": { | ||
"asyncapi": { | ||
"type": "string", | ||
"enum": [ | ||
"1.0.0", | ||
"1.1.0" | ||
], | ||
"description": "The AsyncAPI specification version of this document." | ||
}, | ||
"url": { | ||
"type": "string", | ||
"description": "The URL pointing to the contact information.", | ||
"format": "uri" | ||
"info": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/info.json" | ||
}, | ||
"email": { | ||
"type": "string", | ||
"description": "The email address of the contact person/organization.", | ||
"format": "email" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"license": { | ||
"type": "object", | ||
"required": [ | ||
"name" | ||
], | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string", | ||
"description": "The name of the license type. It's encouraged to use an OSI compatible license." | ||
"baseTopic": { | ||
"type": "string", | ||
"pattern": "^[^/.]", | ||
"description": "The base topic to the API. Example: 'hitch'.", | ||
"default": "" | ||
}, | ||
"url": { | ||
"type": "string", | ||
"description": "The URL pointing to the license.", | ||
"format": "uri" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"server": { | ||
"type": "object", | ||
"description": "An object representing a Server.", | ||
"required": [ | ||
"url", | ||
"scheme" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"url": { | ||
"type": "string" | ||
"servers": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/server.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"description": { | ||
"type": "string" | ||
"topics": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/topics.json" | ||
}, | ||
"scheme": { | ||
"type": "string", | ||
"description": "The transfer protocol.", | ||
"enum": [ | ||
"kafka", | ||
"kafka-secure", | ||
"amqp", | ||
"amqps", | ||
"mqtt", | ||
"mqtts", | ||
"secure-mqtt", | ||
"ws", | ||
"wss", | ||
"stomp", | ||
"stomps", | ||
"jms" | ||
] | ||
"components": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/components.json" | ||
}, | ||
"schemeVersion": { | ||
"type": "string" | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/tag.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"variables": { | ||
"$ref": "#/definitions/serverVariables" | ||
} | ||
} | ||
}, | ||
"serverVariables": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/serverVariable" | ||
} | ||
}, | ||
"serverVariable": { | ||
"type": "object", | ||
"description": "An object representing a Server Variable for server URL template substitution.", | ||
"minProperties": 1, | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"enum": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"uniqueItems": true | ||
"security": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/SecurityRequirement.json" | ||
} | ||
}, | ||
"default": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/externalDocs.json" | ||
} | ||
} | ||
}, | ||
"topics": { | ||
"type": "object", | ||
"description": "Relative paths to the individual topics. They must be relative to the 'baseTopic'.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
"definitions": { | ||
"http://asyncapi.com/definitions/1.1.0/vendorExtension.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json", | ||
"description": "Any property starting with x- is valid.", | ||
"additionalProperties": true, | ||
"additionalItems": true | ||
}, | ||
"^[^.]": { | ||
"$ref": "#/definitions/topicItem" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"components": { | ||
"type": "object", | ||
"description": "An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.", | ||
"additionalProperties": false, | ||
"properties": { | ||
"schemas": { | ||
"$ref": "#/definitions/schemas" | ||
"http://asyncapi.com/definitions/1.1.0/info.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/info.json", | ||
"type": "object", | ||
"description": "General information about the API.", | ||
"required": [ | ||
"version", | ||
"title" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.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/1.1.0/contact.json" | ||
}, | ||
"license": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/license.json" | ||
} | ||
} | ||
}, | ||
"messages": { | ||
"$ref": "#/definitions/messages" | ||
"http://asyncapi.com/definitions/1.1.0/contact.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/contact.json", | ||
"type": "object", | ||
"description": "Contact information for the owners of the 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-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
} | ||
}, | ||
"securitySchemes": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^[a-zA-Z0-9\\.\\-_]+$": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/Reference" }, | ||
{ "$ref": "#/definitions/SecurityScheme" } | ||
] | ||
"http://asyncapi.com/definitions/1.1.0/license.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/license.json", | ||
"type": "object", | ||
"required": [ | ||
"name" | ||
], | ||
"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-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"schemas": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"description": "JSON objects describing schemas the API uses." | ||
}, | ||
"messages": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/message" | ||
}, | ||
"description": "JSON objects describing the messages being consumed and produced by the API." | ||
}, | ||
"schema": { | ||
"type": "object", | ||
"description": "A deterministic version of a JSON Schema object.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"format": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.1.0/server.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/server.json", | ||
"type": "object", | ||
"description": "An object representing a Server.", | ||
"required": [ | ||
"url", | ||
"scheme" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"url": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"scheme": { | ||
"type": "string", | ||
"description": "The transfer protocol.", | ||
"enum": [ | ||
"kafka", | ||
"kafka-secure", | ||
"amqp", | ||
"amqps", | ||
"mqtt", | ||
"mqtts", | ||
"secure-mqtt", | ||
"ws", | ||
"wss", | ||
"stomp", | ||
"stomps", | ||
"jms" | ||
] | ||
}, | ||
"schemeVersion": { | ||
"type": "string" | ||
}, | ||
"variables": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/serverVariables.json" | ||
} | ||
} | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
"http://asyncapi.com/definitions/1.1.0/serverVariables.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/serverVariables.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/serverVariable.json" | ||
} | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
"http://asyncapi.com/definitions/1.1.0/serverVariable.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/serverVariable.json", | ||
"type": "object", | ||
"description": "An object representing a Server Variable for server URL template substitution.", | ||
"minProperties": 1, | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"enum": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"default": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
"http://asyncapi.com/definitions/1.1.0/topics.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/topics.json", | ||
"type": "object", | ||
"description": "Relative paths to the individual topics. They must be relative to the 'baseTopic'.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
}, | ||
"^[^.]": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/topicItem.json" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
"http://asyncapi.com/definitions/1.1.0/topicItem.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/topicItem.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"parameters": { | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/parameter.json" | ||
} | ||
}, | ||
"publish": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/operation.json" | ||
}, | ||
"subscribe": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/operation.json" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
"http://asyncapi.com/definitions/1.1.0/parameter.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/parameter.json", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"description": { | ||
"type": "string", | ||
"description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." | ||
}, | ||
"name": { | ||
"type": "string", | ||
"description": "The name of the parameter." | ||
}, | ||
"schema": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
} | ||
} | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
"http://asyncapi.com/definitions/1.1.0/schema.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/schema.json", | ||
"type": "object", | ||
"description": "A deterministic version of a JSON Schema object.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"format": { | ||
"type": "string" | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
}, | ||
"maxProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
}, | ||
{ | ||
"type": "boolean" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"type": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/type" | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
}, | ||
{ | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"allOf": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
} | ||
}, | ||
"oneOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
} | ||
}, | ||
"anyOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
} | ||
}, | ||
"not": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
}, | ||
"default": {} | ||
}, | ||
"discriminator": { | ||
"type": "string" | ||
}, | ||
"readOnly": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"xml": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/xml.json" | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/externalDocs.json" | ||
}, | ||
"example": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
"http://json-schema.org/draft-04/schema": { | ||
"id": "http://json-schema.org/draft-04/schema", | ||
"description": "Core schema meta-schema", | ||
"definitions": { | ||
"schemaArray": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#" | ||
} | ||
}, | ||
"positiveInteger": { | ||
"type": "integer", | ||
"minimum": 0 | ||
}, | ||
"positiveIntegerDefault0": { | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
{ | ||
"default": 0 | ||
} | ||
] | ||
}, | ||
"simpleTypes": { | ||
"enum": [ | ||
"array", | ||
"boolean", | ||
"integer", | ||
"null", | ||
"number", | ||
"object", | ||
"string" | ||
] | ||
}, | ||
"stringArray": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"minItems": 1, | ||
"uniqueItems": true | ||
} | ||
}, | ||
"type": "object", | ||
"properties": { | ||
"id": { | ||
"type": "string" | ||
}, | ||
"$schema": { | ||
"type": "string" | ||
}, | ||
"title": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"default": {}, | ||
"multipleOf": { | ||
"type": "number", | ||
"minimum": 0, | ||
"exclusiveMinimum": true | ||
}, | ||
"maximum": { | ||
"type": "number" | ||
}, | ||
"exclusiveMaximum": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"minimum": { | ||
"type": "number" | ||
}, | ||
"exclusiveMinimum": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"maxLength": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"type": "string", | ||
"format": "regex" | ||
}, | ||
"additionalItems": { | ||
"anyOf": [ | ||
{ | ||
"type": "boolean" | ||
}, | ||
{ | ||
"$ref": "#" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#" | ||
}, | ||
{ | ||
"$ref": "#/definitions/schemaArray" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"maxItems": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"maxProperties": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minProperties": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "#/definitions/stringArray" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"type": "boolean" | ||
}, | ||
{ | ||
"$ref": "#" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"definitions": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"patternProperties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"dependencies": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#" | ||
}, | ||
{ | ||
"$ref": "#/definitions/stringArray" | ||
} | ||
] | ||
} | ||
}, | ||
"enum": { | ||
"type": "array", | ||
"minItems": 1, | ||
"uniqueItems": true | ||
}, | ||
"type": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/simpleTypes" | ||
}, | ||
{ | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/simpleTypes" | ||
}, | ||
"minItems": 1, | ||
"uniqueItems": true | ||
} | ||
] | ||
}, | ||
"format": { | ||
"type": "string" | ||
}, | ||
"allOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"anyOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"oneOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"not": { | ||
"$ref": "#" | ||
} | ||
}, | ||
"dependencies": { | ||
"exclusiveMaximum": [ | ||
"maximum" | ||
], | ||
"exclusiveMinimum": [ | ||
"minimum" | ||
] | ||
}, | ||
"default": {} | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
"http://asyncapi.com/definitions/1.1.0/xml.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/xml.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"namespace": { | ||
"type": "string" | ||
}, | ||
"prefix": { | ||
"type": "string" | ||
}, | ||
"attribute": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"wrapped": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
"http://asyncapi.com/definitions/1.1.0/externalDocs.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/externalDocs.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"description": "information about external documentation", | ||
"required": [ | ||
"url" | ||
], | ||
"properties": { | ||
"description": { | ||
"type": "string" | ||
}, | ||
"url": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
} | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
"http://asyncapi.com/definitions/1.1.0/operation.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/operation.json", | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/message.json" | ||
}, | ||
{ | ||
"type": "object", | ||
"required": [ | ||
"oneOf" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"oneOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/message.json" | ||
} | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
}, | ||
"maxProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.1.0/message.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/message.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
}, | ||
{ | ||
"type": "boolean" | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"headers": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
}, | ||
"payload": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/tag.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"summary": { | ||
"type": "string", | ||
"description": "A brief summary of the message." | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "A longer description of the message. CommonMark is allowed." | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/externalDocs.json" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"example": {} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"type": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/type" | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.1.0/tag.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/tag.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"required": [ | ||
"name" | ||
], | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/externalDocs.json" | ||
} | ||
}, | ||
{ | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/vendorExtension.json" | ||
} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"allOf": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"http://asyncapi.com/definitions/1.1.0/components.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/components.json", | ||
"type": "object", | ||
"description": "An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.", | ||
"additionalProperties": false, | ||
"properties": { | ||
"schemas": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schemas.json" | ||
}, | ||
"messages": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/messages.json" | ||
}, | ||
"securitySchemes": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^[a-zA-Z0-9\\.\\-_]+$": { | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/Reference.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/SecurityScheme.json" | ||
} | ||
] | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"oneOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"http://asyncapi.com/definitions/1.1.0/schemas.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/schemas.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/schema.json" | ||
}, | ||
"description": "JSON objects describing schemas the API uses." | ||
}, | ||
"anyOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"http://asyncapi.com/definitions/1.1.0/messages.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/messages.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/message.json" | ||
}, | ||
"description": "JSON objects describing the messages being consumed and produced by the API." | ||
}, | ||
"not": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"default": {} | ||
}, | ||
"discriminator": { | ||
"type": "string" | ||
}, | ||
"readOnly": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"xml": { | ||
"$ref": "#/definitions/xml" | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
}, | ||
"example": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"xml": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"namespace": { | ||
"type": "string" | ||
}, | ||
"prefix": { | ||
"type": "string" | ||
}, | ||
"attribute": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"wrapped": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"externalDocs": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"description": "information about external documentation", | ||
"required": [ | ||
"url" | ||
], | ||
"properties": { | ||
"description": { | ||
"type": "string" | ||
}, | ||
"url": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"topicItem": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"parameters": { | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/parameter" | ||
} | ||
}, | ||
"publish": { | ||
"$ref": "#/definitions/operation" | ||
}, | ||
"subscribe": { | ||
"$ref": "#/definitions/operation" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"parameter": { | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"description": { | ||
"type": "string", | ||
"description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." | ||
}, | ||
"name": { | ||
"type": "string", | ||
"description": "The name of the parameter." | ||
}, | ||
"schema": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
} | ||
}, | ||
"operation": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/message" }, | ||
{ | ||
"type": "object", | ||
"required": [ "oneOf" ], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
"http://asyncapi.com/definitions/1.1.0/Reference.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/Reference.json", | ||
"type": "object", | ||
"required": [ | ||
"$ref" | ||
], | ||
"properties": { | ||
"$ref": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
} | ||
}, | ||
"properties": { | ||
"oneOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "#/definitions/message" | ||
} | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"message": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"headers": { | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.1.0/SecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/SecurityScheme.json", | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/userPassword.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/apiKey.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/X509.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/symmetricEncryption.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/asymmetricEncryption.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/HTTPSecurityScheme.json" | ||
} | ||
] | ||
}, | ||
"payload": { | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.1.0/userPassword.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/userPassword.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"userPassword" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/tag" | ||
}, | ||
"uniqueItems": true | ||
"http://asyncapi.com/definitions/1.1.0/apiKey.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/apiKey.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"apiKey" | ||
] | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"user", | ||
"password" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"summary": { | ||
"type": "string", | ||
"description": "A brief summary of the message." | ||
"http://asyncapi.com/definitions/1.1.0/X509.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/X509.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"X509" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "A longer description of the message. CommonMark is allowed." | ||
"http://asyncapi.com/definitions/1.1.0/symmetricEncryption.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/symmetricEncryption.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"symmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
"http://asyncapi.com/definitions/1.1.0/asymmetricEncryption.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/asymmetricEncryption.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"asymmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"example": {} | ||
} | ||
}, | ||
"vendorExtension": { | ||
"description": "Any property starting with x- is valid.", | ||
"additionalProperties": true, | ||
"additionalItems": true | ||
}, | ||
"tag": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"required": [ | ||
"name" | ||
], | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"SecurityScheme": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/userPassword" }, | ||
{ "$ref": "#/definitions/apiKey" }, | ||
{ "$ref": "#/definitions/X509" }, | ||
{ "$ref": "#/definitions/symmetricEncryption" }, | ||
{ "$ref": "#/definitions/asymmetricEncryption" }, | ||
{ "$ref": "#/definitions/HTTPSecurityScheme" } | ||
] | ||
}, | ||
"userPassword": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"userPassword" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"apiKey": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"apiKey" | ||
] | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"user", | ||
"password" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"X509": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"X509" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"symmetricEncryption": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"symmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"asymmetricEncryption": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"asymmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"HTTPSecurityScheme": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/NonBearerHTTPSecurityScheme" }, | ||
{ "$ref": "#/definitions/BearerHTTPSecurityScheme" }, | ||
{ "$ref": "#/definitions/APIKeyHTTPSecurityScheme" } | ||
] | ||
}, | ||
"NonBearerHTTPSecurityScheme": { | ||
"not": { | ||
"type": "object", | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
"http://asyncapi.com/definitions/1.1.0/HTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/HTTPSecurityScheme.json", | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/NonBearerHTTPSecurityScheme.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/BearerHTTPSecurityScheme.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.1.0/APIKeyHTTPSecurityScheme.json" | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"type": "object", | ||
"required": [ | ||
"scheme", | ||
"type" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.1.0/NonBearerHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/NonBearerHTTPSecurityScheme.json", | ||
"not": { | ||
"type": "object", | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
} | ||
} | ||
}, | ||
"type": "object", | ||
"required": [ | ||
"scheme", | ||
"type" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"BearerHTTPSecurityScheme": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"scheme" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
"http://asyncapi.com/definitions/1.1.0/BearerHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/BearerHTTPSecurityScheme.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"scheme" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
}, | ||
"bearerFormat": { | ||
"type": "string" | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"bearerFormat": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.1.0/APIKeyHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/APIKeyHTTPSecurityScheme.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"name", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"httpApiKey" | ||
] | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"header", | ||
"query", | ||
"cookie" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.1.0/SecurityRequirement.json": { | ||
"id": "http://asyncapi.com/definitions/1.1.0/SecurityRequirement.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"APIKeyHTTPSecurityScheme": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"name", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"httpApiKey" | ||
] | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"header", | ||
"query", | ||
"cookie" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"SecurityRequirement": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
} | ||
} | ||
} | ||
"description": "!!Auto generated!! \n Do not manually edit. " | ||
} |
{ | ||
"title": "AsyncAPI 1.2.0 schema.", | ||
"id": "http://asyncapi.hitchhq.com/v1/schema.json#", | ||
"$schema": "http://json-schema.org/draft-04/schema#", | ||
"type": "object", | ||
"required": [ | ||
"asyncapi", | ||
"info" | ||
], | ||
"oneOf": [ | ||
{ | ||
"required": [ | ||
"topics" | ||
] | ||
}, | ||
{ | ||
"required": [ | ||
"stream" | ||
] | ||
}, | ||
{ | ||
"required": [ | ||
"events" | ||
] | ||
} | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"asyncapi": { | ||
"type": "string", | ||
"enum": [ | ||
"1.0.0", | ||
"1.1.0", | ||
"1.2.0" | ||
], | ||
"description": "The AsyncAPI specification version of this document." | ||
}, | ||
"info": { | ||
"$ref": "#/definitions/info" | ||
}, | ||
"baseTopic": { | ||
"type": "string", | ||
"pattern": "^[^/.]", | ||
"description": "The base topic to the API. Example: 'hitch'.", | ||
"default": "" | ||
}, | ||
"servers": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/server" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"topics": { | ||
"$ref": "#/definitions/topics" | ||
}, | ||
"stream": { | ||
"$ref": "#/definitions/stream", | ||
"description": "The list of messages a consumer can read or write from/to a streaming API." | ||
}, | ||
"events": { | ||
"$ref": "#/definitions/events", | ||
"description": "The list of messages an events API sends and/or receives." | ||
}, | ||
"components": { | ||
"$ref": "#/definitions/components" | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/tag" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"security": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/SecurityRequirement" | ||
} | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
} | ||
}, | ||
"definitions": { | ||
"Reference": { | ||
"type": "object", | ||
"required": [ | ||
"$ref" | ||
], | ||
"properties": { | ||
"$ref": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
} | ||
}, | ||
"info": { | ||
"type": "object", | ||
"description": "General information about the API.", | ||
"required": [ | ||
"version", | ||
"title" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"title": { | ||
"type": "string", | ||
"description": "A unique and precise title of the API." | ||
"id": "http://asyncapi.com/definitions/1.2.0/asyncapi.json", | ||
"$schema": "http://json-schema.org/draft-04/schema", | ||
"title": "AsyncAPI 1.2.0 schema.", | ||
"type": "object", | ||
"required": [ | ||
"asyncapi", | ||
"info" | ||
], | ||
"oneOf": [ | ||
{ | ||
"required": [ | ||
"topics" | ||
] | ||
}, | ||
"version": { | ||
"type": "string", | ||
"description": "A semantic version number of the API." | ||
{ | ||
"required": [ | ||
"stream" | ||
] | ||
}, | ||
"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": "#/definitions/contact" | ||
}, | ||
"license": { | ||
"$ref": "#/definitions/license" | ||
{ | ||
"required": [ | ||
"events" | ||
] | ||
} | ||
} | ||
}, | ||
"contact": { | ||
"type": "object", | ||
"description": "Contact information for the owners of the 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": { | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
} | ||
}, | ||
"license": { | ||
"type": "object", | ||
"required": [ | ||
"name" | ||
], | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string", | ||
"description": "The name of the license type. It's encouraged to use an OSI compatible license." | ||
"properties": { | ||
"asyncapi": { | ||
"type": "string", | ||
"enum": [ | ||
"1.0.0", | ||
"1.1.0", | ||
"1.2.0" | ||
], | ||
"description": "The AsyncAPI specification version of this document." | ||
}, | ||
"url": { | ||
"type": "string", | ||
"description": "The URL pointing to the license.", | ||
"format": "uri" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"server": { | ||
"type": "object", | ||
"description": "An object representing a Server.", | ||
"required": [ | ||
"url", | ||
"scheme" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"url": { | ||
"type": "string" | ||
"info": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/info.json" | ||
}, | ||
"description": { | ||
"type": "string" | ||
"baseTopic": { | ||
"type": "string", | ||
"pattern": "^[^/.]", | ||
"description": "The base topic to the API. Example: 'hitch'.", | ||
"default": "" | ||
}, | ||
"scheme": { | ||
"type": "string", | ||
"description": "The transfer protocol.", | ||
"enum": [ | ||
"kafka", | ||
"kafka-secure", | ||
"amqp", | ||
"amqps", | ||
"mqtt", | ||
"mqtts", | ||
"secure-mqtt", | ||
"ws", | ||
"wss", | ||
"stomp", | ||
"stomps", | ||
"jms", | ||
"http", | ||
"https" | ||
] | ||
"servers": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/server.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"schemeVersion": { | ||
"type": "string" | ||
"topics": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/topics.json" | ||
}, | ||
"variables": { | ||
"$ref": "#/definitions/serverVariables" | ||
} | ||
} | ||
}, | ||
"serverVariables": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/serverVariable" | ||
} | ||
}, | ||
"serverVariable": { | ||
"type": "object", | ||
"description": "An object representing a Server Variable for server URL template substitution.", | ||
"minProperties": 1, | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"enum": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"uniqueItems": true | ||
"stream": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/stream.json", | ||
"description": "The list of messages a consumer can read or write from/to a streaming API." | ||
}, | ||
"default": { | ||
"type": "string" | ||
"events": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/events.json", | ||
"description": "The list of messages an events API sends and/or receives." | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"topics": { | ||
"type": "object", | ||
"description": "Relative paths to the individual topics. They must be relative to the 'baseTopic'.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
"components": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/components.json" | ||
}, | ||
"^[^.]": { | ||
"$ref": "#/definitions/topicItem" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"components": { | ||
"type": "object", | ||
"description": "An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.", | ||
"additionalProperties": false, | ||
"properties": { | ||
"schemas": { | ||
"$ref": "#/definitions/schemas" | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/tag.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"messages": { | ||
"$ref": "#/definitions/messages" | ||
}, | ||
"securitySchemes": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^[a-zA-Z0-9\\.\\-_]+$": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/Reference" }, | ||
{ "$ref": "#/definitions/SecurityScheme" } | ||
] | ||
"security": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/SecurityRequirement.json" | ||
} | ||
} | ||
}, | ||
"parameters": { | ||
"$ref": "#/definitions/parameters" | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/externalDocs.json" | ||
} | ||
} | ||
}, | ||
"schemas": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"description": "JSON objects describing schemas the API uses." | ||
}, | ||
"messages": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/message" | ||
}, | ||
"description": "JSON objects describing the messages being consumed and produced by the API." | ||
}, | ||
"parameters": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/parameter" | ||
}, | ||
"description": "JSON objects describing re-usable topic parameters." | ||
}, | ||
"schema": { | ||
"type": "object", | ||
"description": "A deterministic version of a JSON Schema object.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
"definitions": { | ||
"http://asyncapi.com/definitions/1.2.0/vendorExtension.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json", | ||
"description": "Any property starting with x- is valid.", | ||
"additionalProperties": true, | ||
"additionalItems": true | ||
}, | ||
"format": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.2.0/info.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/info.json", | ||
"type": "object", | ||
"description": "General information about the API.", | ||
"required": [ | ||
"version", | ||
"title" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.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/1.2.0/contact.json" | ||
}, | ||
"license": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/license.json" | ||
} | ||
} | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
"http://asyncapi.com/definitions/1.2.0/contact.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/contact.json", | ||
"type": "object", | ||
"description": "Contact information for the owners of the 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-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
} | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
"http://asyncapi.com/definitions/1.2.0/license.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/license.json", | ||
"type": "object", | ||
"required": [ | ||
"name" | ||
], | ||
"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-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
} | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
"http://asyncapi.com/definitions/1.2.0/server.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/server.json", | ||
"type": "object", | ||
"description": "An object representing a Server.", | ||
"required": [ | ||
"url", | ||
"scheme" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"url": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"scheme": { | ||
"type": "string", | ||
"description": "The transfer protocol.", | ||
"enum": [ | ||
"kafka", | ||
"kafka-secure", | ||
"amqp", | ||
"amqps", | ||
"mqtt", | ||
"mqtts", | ||
"secure-mqtt", | ||
"ws", | ||
"wss", | ||
"stomp", | ||
"stomps", | ||
"jms", | ||
"http", | ||
"https" | ||
] | ||
}, | ||
"schemeVersion": { | ||
"type": "string" | ||
}, | ||
"variables": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/serverVariables.json" | ||
} | ||
} | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
"http://asyncapi.com/definitions/1.2.0/serverVariables.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/serverVariables.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/serverVariable.json" | ||
} | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
"http://asyncapi.com/definitions/1.2.0/serverVariable.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/serverVariable.json", | ||
"type": "object", | ||
"description": "An object representing a Server Variable for server URL template substitution.", | ||
"minProperties": 1, | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"enum": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"default": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
"http://asyncapi.com/definitions/1.2.0/topics.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/topics.json", | ||
"type": "object", | ||
"description": "Relative paths to the individual topics. They must be relative to the 'baseTopic'.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
}, | ||
"^[^.]": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/topicItem.json" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
"http://asyncapi.com/definitions/1.2.0/topicItem.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/topicItem.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"parameters": { | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/parameter.json" | ||
} | ||
}, | ||
"publish": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/operation.json" | ||
}, | ||
"subscribe": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/operation.json" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
"http://asyncapi.com/definitions/1.2.0/parameter.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/parameter.json", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"description": { | ||
"type": "string", | ||
"description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." | ||
}, | ||
"name": { | ||
"type": "string", | ||
"description": "The name of the parameter." | ||
}, | ||
"schema": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
}, | ||
"$ref": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
"http://asyncapi.com/definitions/1.2.0/schema.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/schema.json", | ||
"type": "object", | ||
"description": "A deterministic version of a JSON Schema object.", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"format": { | ||
"type": "string" | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
}, | ||
"maxProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
}, | ||
{ | ||
"type": "boolean" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"type": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/type" | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
}, | ||
{ | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"allOf": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
} | ||
}, | ||
"oneOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
} | ||
}, | ||
"anyOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
} | ||
}, | ||
"not": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
}, | ||
"default": {} | ||
}, | ||
"discriminator": { | ||
"type": "string" | ||
}, | ||
"readOnly": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"xml": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/xml.json" | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/externalDocs.json" | ||
}, | ||
"example": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
"http://json-schema.org/draft-04/schema": { | ||
"id": "http://json-schema.org/draft-04/schema", | ||
"description": "Core schema meta-schema", | ||
"definitions": { | ||
"schemaArray": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#" | ||
} | ||
}, | ||
"positiveInteger": { | ||
"type": "integer", | ||
"minimum": 0 | ||
}, | ||
"positiveIntegerDefault0": { | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
{ | ||
"default": 0 | ||
} | ||
] | ||
}, | ||
"simpleTypes": { | ||
"enum": [ | ||
"array", | ||
"boolean", | ||
"integer", | ||
"null", | ||
"number", | ||
"object", | ||
"string" | ||
] | ||
}, | ||
"stringArray": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"minItems": 1, | ||
"uniqueItems": true | ||
} | ||
}, | ||
"type": "object", | ||
"properties": { | ||
"id": { | ||
"type": "string" | ||
}, | ||
"$schema": { | ||
"type": "string" | ||
}, | ||
"title": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"default": {}, | ||
"multipleOf": { | ||
"type": "number", | ||
"minimum": 0, | ||
"exclusiveMinimum": true | ||
}, | ||
"maximum": { | ||
"type": "number" | ||
}, | ||
"exclusiveMaximum": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"minimum": { | ||
"type": "number" | ||
}, | ||
"exclusiveMinimum": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"maxLength": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"type": "string", | ||
"format": "regex" | ||
}, | ||
"additionalItems": { | ||
"anyOf": [ | ||
{ | ||
"type": "boolean" | ||
}, | ||
{ | ||
"$ref": "#" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#" | ||
}, | ||
{ | ||
"$ref": "#/definitions/schemaArray" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"maxItems": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"maxProperties": { | ||
"$ref": "#/definitions/positiveInteger" | ||
}, | ||
"minProperties": { | ||
"$ref": "#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "#/definitions/stringArray" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"type": "boolean" | ||
}, | ||
{ | ||
"$ref": "#" | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"definitions": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"patternProperties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#" | ||
}, | ||
"default": {} | ||
}, | ||
"dependencies": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#" | ||
}, | ||
{ | ||
"$ref": "#/definitions/stringArray" | ||
} | ||
] | ||
} | ||
}, | ||
"enum": { | ||
"type": "array", | ||
"minItems": 1, | ||
"uniqueItems": true | ||
}, | ||
"type": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/simpleTypes" | ||
}, | ||
{ | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/simpleTypes" | ||
}, | ||
"minItems": 1, | ||
"uniqueItems": true | ||
} | ||
] | ||
}, | ||
"format": { | ||
"type": "string" | ||
}, | ||
"allOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"anyOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"oneOf": { | ||
"$ref": "#/definitions/schemaArray" | ||
}, | ||
"not": { | ||
"$ref": "#" | ||
} | ||
}, | ||
"dependencies": { | ||
"exclusiveMaximum": [ | ||
"maximum" | ||
], | ||
"exclusiveMinimum": [ | ||
"minimum" | ||
] | ||
}, | ||
"default": {} | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
"http://asyncapi.com/definitions/1.2.0/xml.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/xml.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"namespace": { | ||
"type": "string" | ||
}, | ||
"prefix": { | ||
"type": "string" | ||
}, | ||
"attribute": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"wrapped": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
"http://asyncapi.com/definitions/1.2.0/externalDocs.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/externalDocs.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"description": "information about external documentation", | ||
"required": [ | ||
"url" | ||
], | ||
"properties": { | ||
"description": { | ||
"type": "string" | ||
}, | ||
"url": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
} | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
"http://asyncapi.com/definitions/1.2.0/operation.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/operation.json", | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/message.json" | ||
}, | ||
{ | ||
"type": "object", | ||
"required": [ | ||
"oneOf" | ||
], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"oneOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/message.json" | ||
} | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
"http://asyncapi.com/definitions/1.2.0/message.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/message.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"headers": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
}, | ||
"payload": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/tag.json" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"summary": { | ||
"type": "string", | ||
"description": "A brief summary of the message." | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "A longer description of the message. CommonMark is allowed." | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/externalDocs.json" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"example": {} | ||
} | ||
}, | ||
"maxProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
"http://asyncapi.com/definitions/1.2.0/tag.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/tag.json", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"required": [ | ||
"name" | ||
], | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"externalDocs": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/externalDocs.json" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
} | ||
}, | ||
"minProperties": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"required": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
}, | ||
"additionalProperties": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.2.0/stream.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/stream.json", | ||
"title": "Stream Object", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
{ | ||
"type": "boolean" | ||
"minProperties": 1, | ||
"properties": { | ||
"framing": { | ||
"title": "Stream Framing Object", | ||
"type": "object", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"oneOf": [ | ||
{ | ||
"additionalProperties": false, | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"chunked" | ||
] | ||
}, | ||
"delimiter": { | ||
"type": "string", | ||
"enum": [ | ||
"\\r\\n", | ||
"\\n" | ||
], | ||
"default": "\\r\\n" | ||
} | ||
} | ||
}, | ||
{ | ||
"additionalProperties": false, | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"sse" | ||
] | ||
}, | ||
"delimiter": { | ||
"type": "string", | ||
"enum": [ | ||
"\\n\\n" | ||
], | ||
"default": "\\n\\n" | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"read": { | ||
"title": "Stream Read Object", | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/message.json" | ||
} | ||
}, | ||
"write": { | ||
"title": "Stream Write Object", | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/message.json" | ||
} | ||
} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"type": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/type" | ||
}, | ||
"items": { | ||
"anyOf": [ | ||
{ | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.2.0/events.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/events.json", | ||
"title": "Events Object", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/vendorExtension.json" | ||
} | ||
}, | ||
{ | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"minProperties": 1, | ||
"anyOf": [ | ||
{ | ||
"required": [ | ||
"receive" | ||
] | ||
}, | ||
{ | ||
"required": [ | ||
"send" | ||
] | ||
} | ||
], | ||
"properties": { | ||
"receive": { | ||
"title": "Events Receive Object", | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/message.json" | ||
} | ||
}, | ||
"send": { | ||
"title": "Events Send Object", | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/message.json" | ||
} | ||
} | ||
} | ||
], | ||
"default": {} | ||
}, | ||
"allOf": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"http://asyncapi.com/definitions/1.2.0/components.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/components.json", | ||
"type": "object", | ||
"description": "An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.", | ||
"additionalProperties": false, | ||
"properties": { | ||
"schemas": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schemas.json" | ||
}, | ||
"messages": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/messages.json" | ||
}, | ||
"securitySchemes": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^[a-zA-Z0-9\\.\\-_]+$": { | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/Reference.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/SecurityScheme.json" | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"parameters": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/parameters.json" | ||
} | ||
} | ||
}, | ||
"oneOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"http://asyncapi.com/definitions/1.2.0/schemas.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/schemas.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/schema.json" | ||
}, | ||
"description": "JSON objects describing schemas the API uses." | ||
}, | ||
"anyOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "#/definitions/schema" | ||
} | ||
"http://asyncapi.com/definitions/1.2.0/messages.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/messages.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/message.json" | ||
}, | ||
"description": "JSON objects describing the messages being consumed and produced by the API." | ||
}, | ||
"not": { | ||
"$ref": "#/definitions/schema" | ||
"http://asyncapi.com/definitions/1.2.0/Reference.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/Reference.json", | ||
"type": "object", | ||
"required": [ | ||
"$ref" | ||
], | ||
"properties": { | ||
"$ref": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
} | ||
}, | ||
"properties": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"default": {} | ||
"http://asyncapi.com/definitions/1.2.0/SecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/SecurityScheme.json", | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/userPassword.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/apiKey.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/X509.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/symmetricEncryption.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/asymmetricEncryption.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/HTTPSecurityScheme.json" | ||
} | ||
] | ||
}, | ||
"discriminator": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.2.0/userPassword.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/userPassword.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"userPassword" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"readOnly": { | ||
"type": "boolean", | ||
"default": false | ||
"http://asyncapi.com/definitions/1.2.0/apiKey.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/apiKey.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"apiKey" | ||
] | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"user", | ||
"password" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"xml": { | ||
"$ref": "#/definitions/xml" | ||
"http://asyncapi.com/definitions/1.2.0/X509.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/X509.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"X509" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
}, | ||
"example": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"xml": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"namespace": { | ||
"type": "string" | ||
}, | ||
"prefix": { | ||
"type": "string" | ||
}, | ||
"attribute": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"wrapped": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"externalDocs": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"description": "information about external documentation", | ||
"required": [ | ||
"url" | ||
], | ||
"properties": { | ||
"description": { | ||
"type": "string" | ||
}, | ||
"url": { | ||
"type": "string", | ||
"format": "uri" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"topicItem": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"parameters": { | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/parameter" | ||
} | ||
}, | ||
"publish": { | ||
"$ref": "#/definitions/operation" | ||
}, | ||
"subscribe": { | ||
"$ref": "#/definitions/operation" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
} | ||
} | ||
}, | ||
"parameter": { | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"description": { | ||
"type": "string", | ||
"description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." | ||
}, | ||
"name": { | ||
"type": "string", | ||
"description": "The name of the parameter." | ||
}, | ||
"schema": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"$ref": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"operation": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/message" }, | ||
{ | ||
"type": "object", | ||
"required": [ "oneOf" ], | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"oneOf": { | ||
"type": "array", | ||
"minItems": 2, | ||
"items": { | ||
"$ref": "#/definitions/message" | ||
} | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"stream": { | ||
"title": "Stream Object", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"properties": { | ||
"framing": { | ||
"title": "Stream Framing Object", | ||
"type": "object", | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"oneOf": [ | ||
{ | ||
"additionalProperties": false, | ||
"properties": { | ||
"http://asyncapi.com/definitions/1.2.0/symmetricEncryption.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/symmetricEncryption.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"chunked" | ||
] | ||
"type": "string", | ||
"enum": [ | ||
"symmetricEncryption" | ||
] | ||
}, | ||
"delimiter": { | ||
"type": "string", | ||
"enum": [ | ||
"\\r\\n", | ||
"\\n" | ||
], | ||
"default": "\\r\\n" | ||
"description": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
{ | ||
"additionalProperties": false, | ||
"properties": { | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"http://asyncapi.com/definitions/1.2.0/asymmetricEncryption.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/asymmetricEncryption.json", | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"sse" | ||
] | ||
"type": "string", | ||
"enum": [ | ||
"asymmetricEncryption" | ||
] | ||
}, | ||
"delimiter": { | ||
"type": "string", | ||
"enum": [ | ||
"\\n\\n" | ||
], | ||
"default": "\\n\\n" | ||
"description": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
] | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"read": { | ||
"title": "Stream Read Object", | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/message" | ||
} | ||
}, | ||
"write": { | ||
"title": "Stream Write Object", | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/message" | ||
} | ||
} | ||
} | ||
}, | ||
"events": { | ||
"title": "Events Object", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"minProperties": 1, | ||
"anyOf": [ | ||
{ | ||
"required": [ | ||
"receive" | ||
] | ||
}, | ||
{ | ||
"required": [ | ||
"send" | ||
] | ||
} | ||
], | ||
"properties": { | ||
"receive": { | ||
"title": "Events Receive Object", | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/message" | ||
} | ||
}, | ||
"send": { | ||
"title": "Events Send Object", | ||
"type": "array", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"$ref": "#/definitions/message" | ||
} | ||
} | ||
} | ||
}, | ||
"message": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
}, | ||
"properties": { | ||
"$ref": { | ||
"type": "string" | ||
}, | ||
"headers": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"payload": { | ||
"$ref": "#/definitions/schema" | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/tag" | ||
}, | ||
"uniqueItems": true | ||
}, | ||
"summary": { | ||
"type": "string", | ||
"description": "A brief summary of the message." | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "A longer description of the message. CommonMark is allowed." | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
}, | ||
"deprecated": { | ||
"type": "boolean", | ||
"default": false | ||
}, | ||
"example": {} | ||
} | ||
}, | ||
"vendorExtension": { | ||
"description": "Any property starting with x- is valid.", | ||
"additionalProperties": true, | ||
"additionalItems": true | ||
}, | ||
"tag": { | ||
"type": "object", | ||
"additionalProperties": false, | ||
"required": [ | ||
"name" | ||
], | ||
"properties": { | ||
"name": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"externalDocs": { | ||
"$ref": "#/definitions/externalDocs" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": { | ||
"$ref": "#/definitions/vendorExtension" | ||
} | ||
} | ||
}, | ||
"SecurityScheme": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/userPassword" }, | ||
{ "$ref": "#/definitions/apiKey" }, | ||
{ "$ref": "#/definitions/X509" }, | ||
{ "$ref": "#/definitions/symmetricEncryption" }, | ||
{ "$ref": "#/definitions/asymmetricEncryption" }, | ||
{ "$ref": "#/definitions/HTTPSecurityScheme" } | ||
] | ||
}, | ||
"userPassword": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"userPassword" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"apiKey": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"apiKey" | ||
] | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"user", | ||
"password" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"X509": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"X509" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"symmetricEncryption": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"symmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"asymmetricEncryption": { | ||
"type": "object", | ||
"required": [ | ||
"type" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"asymmetricEncryption" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"HTTPSecurityScheme": { | ||
"oneOf": [ | ||
{ "$ref": "#/definitions/NonBearerHTTPSecurityScheme" }, | ||
{ "$ref": "#/definitions/BearerHTTPSecurityScheme" }, | ||
{ "$ref": "#/definitions/APIKeyHTTPSecurityScheme" } | ||
] | ||
}, | ||
"NonBearerHTTPSecurityScheme": { | ||
"not": { | ||
"type": "object", | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
"http://asyncapi.com/definitions/1.2.0/HTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/HTTPSecurityScheme.json", | ||
"oneOf": [ | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/NonBearerHTTPSecurityScheme.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/BearerHTTPSecurityScheme.json" | ||
}, | ||
{ | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/APIKeyHTTPSecurityScheme.json" | ||
} | ||
] | ||
} | ||
} | ||
}, | ||
"type": "object", | ||
"required": [ | ||
"scheme", | ||
"type" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.2.0/NonBearerHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/NonBearerHTTPSecurityScheme.json", | ||
"not": { | ||
"type": "object", | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
} | ||
} | ||
}, | ||
"type": "object", | ||
"required": [ | ||
"scheme", | ||
"type" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string" | ||
}, | ||
"description": { | ||
"type": "string" | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"BearerHTTPSecurityScheme": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"scheme" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
"http://asyncapi.com/definitions/1.2.0/BearerHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/BearerHTTPSecurityScheme.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"scheme" | ||
], | ||
"properties": { | ||
"scheme": { | ||
"type": "string", | ||
"enum": [ | ||
"bearer" | ||
] | ||
}, | ||
"bearerFormat": { | ||
"type": "string" | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"bearerFormat": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.2.0/APIKeyHTTPSecurityScheme.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/APIKeyHTTPSecurityScheme.json", | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"name", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"httpApiKey" | ||
] | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"header", | ||
"query", | ||
"cookie" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"http" | ||
] | ||
"http://asyncapi.com/definitions/1.2.0/parameters.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/parameters.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"$ref": "http://asyncapi.com/definitions/1.2.0/parameter.json" | ||
}, | ||
"description": "JSON objects describing re-usable topic parameters." | ||
}, | ||
"description": { | ||
"type": "string" | ||
"http://asyncapi.com/definitions/1.2.0/SecurityRequirement.json": { | ||
"id": "http://asyncapi.com/definitions/1.2.0/SecurityRequirement.json", | ||
"type": "object", | ||
"additionalProperties": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"APIKeyHTTPSecurityScheme": { | ||
"type": "object", | ||
"required": [ | ||
"type", | ||
"name", | ||
"in" | ||
], | ||
"properties": { | ||
"type": { | ||
"type": "string", | ||
"enum": [ | ||
"httpApiKey" | ||
] | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"in": { | ||
"type": "string", | ||
"enum": [ | ||
"header", | ||
"query", | ||
"cookie" | ||
] | ||
}, | ||
"description": { | ||
"type": "string" | ||
} | ||
}, | ||
"patternProperties": { | ||
"^x-": {} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"SecurityRequirement": { | ||
"type": "object", | ||
"additionalProperties": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"title": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/title" | ||
}, | ||
"description": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/description" | ||
}, | ||
"default": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/default" | ||
}, | ||
"multipleOf": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" | ||
}, | ||
"maximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" | ||
}, | ||
"exclusiveMaximum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" | ||
}, | ||
"minimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" | ||
}, | ||
"exclusiveMinimum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" | ||
}, | ||
"maxLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minLength": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"pattern": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" | ||
}, | ||
"maxItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" | ||
}, | ||
"minItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" | ||
}, | ||
"uniqueItems": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" | ||
}, | ||
"enum": { | ||
"$ref": "http://json-schema.org/draft-04/schema#/properties/enum" | ||
} | ||
} | ||
} | ||
"description": "!!Auto generated!! \n Do not manually edit. " | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Install scripts
Supply chain riskInstall scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.
Found 2 instances in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 11 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
7690602
781
76455
129
12
60
1
4
5
49