diff --git a/README.md b/README.md index 0045ef31c..f665669b4 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # The API Specification Toolbox + This is a project to try and define the world of API specifications. The goal is to try and map out all of the different API specifications in use, as well as the services, tooling, extensions, and other supporting elements. **Website:** http://api.specificationtoolbox.com/ @@ -6,3 +7,12 @@ This is a project to try and define the world of API specifications. The goal is Feel free to submit a PR to add any specifications, extensions, news, services, tools, sector videos, or blog post, or submit a GitHub issue asking any question and provide feedback. This is a project between [Postman](https://www.postman.com/) and [API Evangelist](http://apievangelist.com/), but welcome others to get involved at an individual or organization level--we could use your help. + +To view this locally (when creating pull requests), install `Ruby` and `bundler` as per [Jekyll docs](https://jekyllrb.com/docs/), +then run + +```bash +bundle exec jekyll serve +``` + +then browse [http://localhost:4000](http://localhost:4000). diff --git a/_extensions/swaggerplusplus-x-anyOf.md b/_extensions/swaggerplusplus-x-anyOf.md index c470153ee..9acf5db52 100644 --- a/_extensions/swaggerplusplus-x-anyOf.md +++ b/_extensions/swaggerplusplus-x-anyOf.md @@ -1,6 +1,6 @@ --- name: Swaggerplus JSON Schema anyOf -slug: swaggerplusplus-anyOf +slug: swaggerplusplus-anyof property: x-anyOf description: >- Add to a Schema Object in an OpenAPI 2.0 API description document to use newer `anyOf` JSON Schema constructs. @@ -18,6 +18,7 @@ tags: - JSON Schema created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-anyof.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-callbacks.md b/_extensions/swaggerplusplus-x-callbacks.md index 48dc21b89..007417f66 100644 --- a/_extensions/swaggerplusplus-x-callbacks.md +++ b/_extensions/swaggerplusplus-x-callbacks.md @@ -7,23 +7,27 @@ description: >- elements in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0. example: - callbacks: - myCallback1: - 'http://callback.example.com?transactionId={$request.body#/id}&email={$request.body#/email}': - post: - requestBody: - description: Callback payload - content: - 'application/json': - schema: - $ref: '#/components/schemas/callback1Payload' - responses: - '200': - description: Callback successfully processed and no retries will be performed + paths: + "/books": + post: + x-callbacks: + myCallback1: >- + 'http://callback.example.com?transactionId={$request.body#/id}': + post: + requestBody: + description: Callback payload + content: + 'application/json': + schema: + $ref: '#/components/schemas/callback1Payload' + responses: + '200': + description: Callback successfully processed and no retries will be performed. tags: - Migration created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-callbacks.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-deprecated.md b/_extensions/swaggerplusplus-x-deprecated.md index f1bf8e859..eab21cbc4 100644 --- a/_extensions/swaggerplusplus-x-deprecated.md +++ b/_extensions/swaggerplusplus-x-deprecated.md @@ -6,19 +6,20 @@ description: >- Mark OpenAPI 3.x elements as `deprecated` [label](url) in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0. example: -components - parameters: - bookIdPathParam: - - name: bookId - in: path - schema: - type: string - desccription: The ID of a book. - x-deprecated: true + components: + parameters: + bookIdPathParam: + - name: bookId + in: path + schema: + type: string + description: The ID of a book. + x-deprecated: true tags: - Migration created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-deprecated.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-description.md b/_extensions/swaggerplusplus-x-description.md index 57752166b..5f88a9460 100644 --- a/_extensions/swaggerplusplus-x-description.md +++ b/_extensions/swaggerplusplus-x-description.md @@ -14,6 +14,7 @@ tags: - Migration created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-description.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-discriminator.md b/_extensions/swaggerplusplus-x-discriminator.md index 8adeaf217..d10eed570 100644 --- a/_extensions/swaggerplusplus-x-discriminator.md +++ b/_extensions/swaggerplusplus-x-discriminator.md @@ -20,6 +20,7 @@ tags: - JSON Schema created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-discriminator.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-links.md b/_extensions/swaggerplusplus-x-links.md index 382c53d83..f06f70a8b 100644 --- a/_extensions/swaggerplusplus-x-links.md +++ b/_extensions/swaggerplusplus-x-links.md @@ -1,5 +1,5 @@ --- -name: Swaggerplus Liks +name: Swaggerplus Links slug: swaggerplusplus-links property: x-link description: >- @@ -7,19 +7,18 @@ description: >- an OpenAPI 2.0 API [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#response-object). This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0. example: - info: ... - host: https://api.gigantic-server.com/v1 - x-servers: - - url: https://development.gigantic-server.com/v1 - description: Development server - - url: https://staging.gigantic-server.com/v1 - description: Staging server - - url: https://api.gigantic-server.com/v1 - description: Production server + responses: + '200': + description: A book resource + content-type: application/json + x-links: + - operationId: getAuthor + - operationId: getPublisher tags: - Migration created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-links.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-not.md b/_extensions/swaggerplusplus-x-not.md index 72eca8a7b..6d154c365 100644 --- a/_extensions/swaggerplusplus-x-not.md +++ b/_extensions/swaggerplusplus-x-not.md @@ -1,5 +1,5 @@ --- -name: Swaggerplus JSON Schema Not +name: Swaggerplus JSON Schema not slug: swaggerplusplus-not property: x-not description: >- @@ -16,6 +16,7 @@ tags: - JSON Schema created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-not.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-nullable.md b/_extensions/swaggerplusplus-x-nullable.md index e2c699208..91d71c768 100644 --- a/_extensions/swaggerplusplus-x-nullable.md +++ b/_extensions/swaggerplusplus-x-nullable.md @@ -1,5 +1,5 @@ --- -name: Swaggerplus JSON Schema Nullable +name: Swaggerplus JSON Schema nullable slug: swaggerplusplus-nullable property: x-nullable description: >- @@ -13,7 +13,7 @@ example: description: Representation of a published book. properties: title: - nullable: false + x-nullable: false schema: type: string tags: @@ -21,6 +21,7 @@ tags: - JSON Schema created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-nullable.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-oneOf.md b/_extensions/swaggerplusplus-x-oneOf.md index b0c35fb31..1f3af5e7c 100644 --- a/_extensions/swaggerplusplus-x-oneOf.md +++ b/_extensions/swaggerplusplus-x-oneOf.md @@ -1,6 +1,6 @@ --- name: Swaggerplus JSON Schema oneOf -slug: swaggerplusplus-oneOf +slug: swaggerplusplus-oneof property: x-oneOf description: >- Add to a Schema Object in an OpenAPI 2.0 API description document to use newer `oneOf` JSON Schema constructs. @@ -18,6 +18,7 @@ tags: - JSON Schema created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-oneof.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-required.md b/_extensions/swaggerplusplus-x-required.md index 1c5770550..e01170df1 100644 --- a/_extensions/swaggerplusplus-x-required.md +++ b/_extensions/swaggerplusplus-x-required.md @@ -1,5 +1,5 @@ --- -name: Swaggerplus JSON Schema Required +name: Swaggerplus JSON Schema required slug: swaggerplusplus-required property: x-required description: >- @@ -17,6 +17,7 @@ tags: - JSON Schema created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-required.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-servers.md b/_extensions/swaggerplusplus-x-servers.md index 1379dd43e..da8b565c0 100644 --- a/_extensions/swaggerplusplus-x-servers.md +++ b/_extensions/swaggerplusplus-x-servers.md @@ -20,6 +20,7 @@ tags: - Migration created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-servers.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-summary.md b/_extensions/swaggerplusplus-x-summary.md index 0e0e62de0..c8bf4a706 100644 --- a/_extensions/swaggerplusplus-x-summary.md +++ b/_extensions/swaggerplusplus-x-summary.md @@ -1,6 +1,6 @@ --- name: Swaggerplus Summary -slug: swaggerplusplus-ummary +slug: swaggerplusplus-summary property: x-summary description: >- Add a OpenAPI 3.x `summary` to elements an OpenAPI 2.0 API description document @@ -14,6 +14,7 @@ tags: - Migration created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-summary.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_extensions/swaggerplusplus-x-trace.md b/_extensions/swaggerplusplus-x-trace.md index e1749b177..074bc0967 100644 --- a/_extensions/swaggerplusplus-x-trace.md +++ b/_extensions/swaggerplusplus-x-trace.md @@ -17,6 +17,7 @@ tags: - Migration created: "2021-01-29" modified: "2021-01-29" +image: ../images/extensions/swaggerplusplus-trace.png url: https://raw.githubusercontent.com/api-specification-toolbox/toolbox/main/_extensions/ specificationVersion: "0.14" apis: [] diff --git a/_site/apis/extensions/index.html b/_site/apis/extensions/index.html index 09e61c69d..556bf9d9f 100644 --- a/_site/apis/extensions/index.html +++ b/_site/apis/extensions/index.html @@ -114,5 +114,174 @@ "extensionVersion": "0.14", "apis": [], "x-common": [{"type":"x-website","url":"https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-cors-configuration.html"}] +}, + +{ + "name": "Swaggerplus Callbacks", + "description": "Define OpenAPI 3.x `callbacks` [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#callback-object) operation elements in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-callbacks.png", + "tags": ["Migration"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-callbacks/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus Deprecated", + "description": "Mark OpenAPI 3.x elements as `deprecated` [label](url) in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-deprecated.png", + "tags": ["Migration"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-deprecated/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus Description", + "description": "Add a OpenAPI 3.x `description` to elements such as path items in an OpenAPI 2.0 API description document where `description` is not allowed. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-description.png", + "tags": ["Migration"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-description/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus JSON Schema anyOf", + "description": "Add to a Schema Object in an OpenAPI 2.0 API description document to use newer `anyOf` JSON Schema constructs. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-anyof.png", + "tags": ["Migration","JSON Schema"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-anyOf/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus JSON Schema discriminator", + "description": "Add to an Schema Object in an OpenAPI 2.0 API description document to use OAS 3.0 `discriminator` JSON Schema constructs. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-discriminator.png", + "tags": ["Migration","JSON Schema"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-discriminator/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus JSON Schema not", + "description": "Add to a Schema Object in an OpenAPI 2.0 API description document to use newer `not` JSON Schema constructs. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-not.png", + "tags": ["Migration","JSON Schema"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-not/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus JSON Schema nullable", + "description": "Add to a Schema Object in an OpenAPI 2.0 API description document to use the `nullable` JSON Schema construct. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-nullable.png", + "tags": ["Migration","JSON Schema"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-nullable/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus JSON Schema oneOf", + "description": "Add to a Schema Object in an OpenAPI 2.0 API description document to use newer `oneOf` JSON Schema constructs. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-oneof.png", + "tags": ["Migration","JSON Schema"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-oneOf/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus JSON Schema required", + "description": "Lists properties that were removed from a Schema Object's `required` array when the `swaggerplusplus` tool processed `x-anyOf`, `x-oneOf` or `x-not` schema constructs.", + "image": "../images/extensions/swaggerplusplus-required.png", + "tags": ["Migration","JSON Schema"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-required/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus Links", + "description": "Define OpenAPI 3.x `links` [{Link Object}](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#link-object) map an OpenAPI 2.0 API [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#response-object). This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-links.png", + "tags": ["Migration"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-links/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus Servers", + "description": "Define OpenAPI 3.x `servers` [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#server-object) elements in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-servers.png", + "tags": ["Migration"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-servers/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus Summary", + "description": "Add a OpenAPI 3.x `summary` to elements an OpenAPI 2.0 API description document where `summary` is not allowed. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-summary.png", + "tags": ["Migration"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-summary/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] +}, + +{ + "name": "Swaggerplus Trace", + "description": "Define OpenAPI 3.x `trace` [Path Iem](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#pathItemObject) operation elements in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.", + "image": "../images/extensions/swaggerplusplus-trace.png", + "tags": ["Migration"], + "created": "2021-01-29", + "modified": "2021-01-29", + "url": "/extensions/swaggerplusplus-x-trace/", + "extensionVersion": "0.14", + "apis": [], + "x-common": [{"type":"x-website","url":"https://github.com/Mermade/swaggerplusplus"}] } ] diff --git a/_site/extensions/add/index.html b/_site/extensions/add/index.html index 95c23d23b..3f71fb1ba 100644 --- a/_site/extensions/add/index.html +++ b/_site/extensions/add/index.html @@ -157,7 +157,8 @@

Add or Update Extensions

The API Specification Toolbox is a community project and runs 100% on Github so that anyone can submit a pull request and add or update any of the extensions listed here on the toolbox. You can find the extensions all listed in the _extensions folder in the repo, and each tool has a single YAML file stored as an .md file. Using YAML front end matter to publish the data to the listing and detail pages.

-

To update or add extensions to the site you can fork the repository for the project, add or update any of the files, and then submit a pull request with all the changes. If you don't feel comfortable submitting a pull request you can just submit an issue using the "new-extensions" label. If you are looking to help, we can really use assistance with some data entry, adding any of the existing extensions that have been submitted as a Github issue--we really appreciate the community contribution.

+

To update or add extensions to the site, you can fork the repository for the project, add or update any of the files, and then submit a pull request with all the changes. See the examples in the `_extensions` dirctory. Add corresponding images to the `images/extensions` directory using images with ~354x184 landscape aspect ratio. See the main source `README.md` file for instructions to preview your work locally.

+

If you don't feel comfortable submitting a pull request you can just submit an issue using the "new-extensions" label. If you are looking to help, we can really use assistance with some data entry, adding any of the existing extensions that have been submitted as a Github issue--we really appreciate the community contribution.

Extensions Use the APIs.yaml Specification

diff --git a/_site/extensions/index.html b/_site/extensions/index.html index abaa14929..f761f3ec0 100644 --- a/_site/extensions/index.html +++ b/_site/extensions/index.html @@ -351,6 +351,266 @@

AWS API Gateway CORS Obje + + + + +
+
+
+ +
+
+

Swaggerplus Callbacks

+ +
Define OpenAPI 3.x `callbacks` [Callback Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#callback-object) operation elements in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus Deprecated

+ +
Mark OpenAPI 3.x elements as `deprecated` [label](url) in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus Description

+ +
Add a OpenAPI 3.x `description` to elements such as path items in an OpenAPI 2.0 API description document where `description` is not allowed. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus JSON Schema anyOf

+ +
Add to a Schema Object in an OpenAPI 2.0 API description document to use newer `anyOf` JSON Schema constructs. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus JSON Schema discriminator

+ +
Add to an Schema Object in an OpenAPI 2.0 API description document to use OAS 3.0 `discriminator` JSON Schema constructs. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus JSON Schema not

+ +
Add to a Schema Object in an OpenAPI 2.0 API description document to use newer `not` JSON Schema constructs. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus JSON Schema nullable

+ +
Add to a Schema Object in an OpenAPI 2.0 API description document to use the `nullable` JSON Schema construct. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus JSON Schema oneOf

+ +
Add to a Schema Object in an OpenAPI 2.0 API description document to use newer `oneOf` JSON Schema constructs. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus JSON Schema required

+ +
Lists properties that were removed from a Schema Object's `required` array when the `swaggerplusplus` tool processed `x-anyOf`, `x-oneOf` or `x-not` schema constructs.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus Links

+ +
Define OpenAPI 3.x `links` [{Link Object}](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#link-object) map an OpenAPI 2.0 API [Response Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#response-object). This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus Servers

+ +
Define OpenAPI 3.x `servers` [Server Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#server-object) elements in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus Summary

+ +
Add a OpenAPI 3.x `summary` to elements an OpenAPI 2.0 API description document where `summary` is not allowed. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + + + + + +
+
+
+ +
+
+

Swaggerplus Trace

+ +
Define OpenAPI 3.x `trace` [Path Iem](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#pathItemObject) operation elements in an OpenAPI 2.0 API description document. This allows converting OpenAPI 2.0 to OpenAPI 3.0 for tools which work with OpenAPI 3.0.
+
+
+
+ + diff --git a/_site/index.html b/_site/index.html index f9f8b7e8f..b3daab217 100644 --- a/_site/index.html +++ b/_site/index.html @@ -932,7 +932,7 @@

The Role of JSON Schema

Implementer’s Draft (OAS 3.1 RC1) Available for Feedback – Please Respond by Nov 8!

Release candidate 1 (RC1) of OpenAPI Specification 3.1, the Implementer’s Draft, is available for testing and evaluation. The enhancements address some of the most requested features from the OpenAPI developer community. Specifically, the OpenAPI Specification is now fully compatible with the latest draft of JSON Schema. This has been a significant effort between the OpenAPI developer comm...
Read More @@ -948,7 +948,7 @@

How Microcks Can Speed-Up Your AsyncAPI Adoption - Part 1

August 11th 2020 was the official announcement of Microcks 1.0.0 release and our first Microcks General Availability (GA) version to fully manage event-driven API through the support of AsyncAPI specification. This first post explains why we decided to start this project and provides more insights. For those who don't know Microcks yet. It is the ultimate Open source Kubernetes Native tool...
Read More @@ -964,7 +964,7 @@

How Microcks

Bringing law and order to APIs with OpenAPI Specifications

A specification is a technical document that tells you how a thing works. If you’re building cars, a specification tells you how a car works. It includes the most important details and perhaps a list of requirements that the end product should fulfill. Once the car gets built, the owner’s manual shows a driver how to operate and maintain the car. Similarly, if you’re building APIs, a speci...
Read More @@ -980,7 +980,7 @@

Band Protocol Becomes First Blockchain Firm To Join OpenAPI Initiative

Sequoia-backed cross-chain data oracle Band Protocol, has joined the OpenAPI Initiative as the first blockchain firm alongside Google, eBay and Microsoft, to connect blockchain applications to common Application Programming Interfaces (API) and streamline the exchange of data between smart contracts and off-chain data sources.
Read More @@ -996,7 +996,7 @@

AsyncAPI partners with Postman to boost development of Asynchronous APIs

I'm proud and honored to let you know that we're partnering with Postman to boost the development of Asynchronous APIs to a new level 🚀 Since the very beginning, I knew the duty we had at hand was challenging. And still is! The specification was just the trigger of a snowball effect. What's the spec for if you can't do anything with it? Tooling is as important as the specification. However...
Read More @@ -1012,7 +1012,7 @@

AsyncAPI partners with Postma

42Crunch Publishes New OpenAPI Security Audit Plugins for Eclipse, IntelliJ, PyCharm

Today, API security leader and creator of the industry’s first API Firewall, 42Crunch, announced the release of new IDE OpenAPI (Swagger) editing plugins for both Eclipse and JetBrains family of IDEs including IntelliJ and PyCharm. s42Crunch’s free OpenAPI security audit plugins simplify REST API development by delivering features such as OpenAPI navigation, code snippets, intellisense, an...
Read More diff --git a/_site/news/index.html b/_site/news/index.html index 978b6e369..afe6c2a26 100644 --- a/_site/news/index.html +++ b/_site/news/index.html @@ -176,7 +176,7 @@

Implementer’s Draft (OAS 3.1 RC1) Available for Feedback – Please Respond by Nov 8!

Release candidate 1 (RC1) of OpenAPI Specification 3.1, the Implementer’s Draft, is available for testing and evaluation. The enhancements address some of the most requested features from the OpenAPI developer community. Specifically, the OpenAPI Specification is now fully compatible with the latest draft of JSON Schema. This has been a significant effort between the OpenAPI developer comm...
Read More @@ -192,7 +192,7 @@

How Microcks Can Speed-Up Your AsyncAPI Adoption - Part 1

August 11th 2020 was the official announcement of Microcks 1.0.0 release and our first Microcks General Availability (GA) version to fully manage event-driven API through the support of AsyncAPI specification. This first post explains why we decided to start this project and provides more insights. For those who don't know Microcks yet. It is the ultimate Open source Kubernetes Native tool...
Read More @@ -208,7 +208,7 @@

How Microcks

Bringing law and order to APIs with OpenAPI Specifications

A specification is a technical document that tells you how a thing works. If you’re building cars, a specification tells you how a car works. It includes the most important details and perhaps a list of requirements that the end product should fulfill. Once the car gets built, the owner’s manual shows a driver how to operate and maintain the car. Similarly, if you’re building APIs, a speci...
Read More @@ -224,7 +224,7 @@

Band Protocol Becomes First Blockchain Firm To Join OpenAPI Initiative

Sequoia-backed cross-chain data oracle Band Protocol, has joined the OpenAPI Initiative as the first blockchain firm alongside Google, eBay and Microsoft, to connect blockchain applications to common Application Programming Interfaces (API) and streamline the exchange of data between smart contracts and off-chain data sources.
Read More @@ -240,7 +240,7 @@

AsyncAPI partners with Postman to boost development of Asynchronous APIs

I'm proud and honored to let you know that we're partnering with Postman to boost the development of Asynchronous APIs to a new level 🚀 Since the very beginning, I knew the duty we had at hand was challenging. And still is! The specification was just the trigger of a snowball effect. What's the spec for if you can't do anything with it? Tooling is as important as the specification. However...
Read More @@ -256,7 +256,7 @@

AsyncAPI partners with Postma

42Crunch Publishes New OpenAPI Security Audit Plugins for Eclipse, IntelliJ, PyCharm

Today, API security leader and creator of the industry’s first API Firewall, 42Crunch, announced the release of new IDE OpenAPI (Swagger) editing plugins for both Eclipse and JetBrains family of IDEs including IntelliJ and PyCharm. s42Crunch’s free OpenAPI security audit plugins simplify REST API development by delivering features such as OpenAPI navigation, code snippets, intellisense, an...
Read More diff --git a/_site/tags/mocking/index.html b/_site/tags/mocking/index.html index b3b0cd46a..1560d85cb 100644 --- a/_site/tags/mocking/index.html +++ b/_site/tags/mocking/index.html @@ -192,7 +192,7 @@

News

How Microcks Can Speed-Up Your AsyncAPI Adoption - Part 1

August 11th 2020 was the official announcement of Microcks 1.0.0 release and our first Microcks General Availability (GA) version to fully manage event-driven API through the support of AsyncAPI specification. This first post explains why we decided to start this project and provides more insights. For those who don't know Microcks yet. It is the ultimate Open source Kubernetes Native tool...
Read More diff --git a/_site/tags/openapi/index.html b/_site/tags/openapi/index.html index 9422a88ec..b4c92df99 100644 --- a/_site/tags/openapi/index.html +++ b/_site/tags/openapi/index.html @@ -186,7 +186,7 @@

News

Implementer’s Draft (OAS 3.1 RC1) Available for Feedback – Please Respond by Nov 8!

Release candidate 1 (RC1) of OpenAPI Specification 3.1, the Implementer’s Draft, is available for testing and evaluation. The enhancements address some of the most requested features from the OpenAPI developer community. Specifically, the OpenAPI Specification is now fully compatible with the latest draft of JSON Schema. This has been a significant effort between the OpenAPI developer comm...
Read More @@ -215,7 +215,7 @@

Bringing law and order to APIs with OpenAPI Specifications

A specification is a technical document that tells you how a thing works. If you’re building cars, a specification tells you how a car works. It includes the most important details and perhaps a list of requirements that the end product should fulfill. Once the car gets built, the owner’s manual shows a driver how to operate and maintain the car. Similarly, if you’re building APIs, a speci...
Read More @@ -238,7 +238,7 @@

Band Protocol Becomes First Blockchain Firm To Join OpenAPI Initiative

Sequoia-backed cross-chain data oracle Band Protocol, has joined the OpenAPI Initiative as the first blockchain firm alongside Google, eBay and Microsoft, to connect blockchain applications to common Application Programming Interfaces (API) and streamline the exchange of data between smart contracts and off-chain data sources.
Read More diff --git a/_site/tags/security/index.html b/_site/tags/security/index.html index 034a3ff08..ca5a51672 100644 --- a/_site/tags/security/index.html +++ b/_site/tags/security/index.html @@ -216,7 +216,7 @@

News

42Crunch Publishes New OpenAPI Security Audit Plugins for Eclipse, IntelliJ, PyCharm

Today, API security leader and creator of the industry’s first API Firewall, 42Crunch, announced the release of new IDE OpenAPI (Swagger) editing plugins for both Eclipse and JetBrains family of IDEs including IntelliJ and PyCharm. s42Crunch’s free OpenAPI security audit plugins simplify REST API development by delivering features such as OpenAPI navigation, code snippets, intellisense, an...
Read More diff --git a/_site/tags/testing/index.html b/_site/tags/testing/index.html index e3a0169b4..05cf05d9d 100644 --- a/_site/tags/testing/index.html +++ b/_site/tags/testing/index.html @@ -192,7 +192,7 @@

News

How Microcks Can Speed-Up Your AsyncAPI Adoption - Part 1

August 11th 2020 was the official announcement of Microcks 1.0.0 release and our first Microcks General Availability (GA) version to fully manage event-driven API through the support of AsyncAPI specification. This first post explains why we decided to start this project and provides more insights. For those who don't know Microcks yet. It is the ultimate Open source Kubernetes Native tool...
Read More diff --git a/extensions/add/index.html b/extensions/add/index.html index b9049f016..b4c6eb932 100644 --- a/extensions/add/index.html +++ b/extensions/add/index.html @@ -24,7 +24,8 @@

Add or Update Extensions

The API Specification Toolbox is a community project and runs 100% on Github so that anyone can submit a pull request and add or update any of the extensions listed here on the toolbox. You can find the extensions all listed in the _extensions folder in the repo, and each tool has a single YAML file stored as an .md file. Using YAML front end matter to publish the data to the listing and detail pages.

-

To update or add extensions to the site you can fork the repository for the project, add or update any of the files, and then submit a pull request with all the changes. If you don't feel comfortable submitting a pull request you can just submit an issue using the "new-extensions" label. If you are looking to help, we can really use assistance with some data entry, adding any of the existing extensions that have been submitted as a Github issue--we really appreciate the community contribution.

+

To update or add extensions to the site, you can fork the repository for the project, add or update any of the files, and then submit a pull request with all the changes. See the examples in the `_extensions` dirctory. Add corresponding images to the `images/extensions` directory using images with ~354x184 landscape aspect ratio. See the main source `README.md` file for instructions to preview your work locally.

+

If you don't feel comfortable submitting a pull request you can just submit an issue using the "new-extensions" label. If you are looking to help, we can really use assistance with some data entry, adding any of the existing extensions that have been submitted as a Github issue--we really appreciate the community contribution.

Extensions Use the APIs.yaml Specification

diff --git a/images/.DS_Store b/images/.DS_Store deleted file mode 100755 index d27866a2a..000000000 Binary files a/images/.DS_Store and /dev/null differ diff --git a/images/extensions/swaggerplusplus-callbacks.png b/images/extensions/swaggerplusplus-callbacks.png new file mode 100644 index 000000000..00eb3edf9 Binary files /dev/null and b/images/extensions/swaggerplusplus-callbacks.png differ diff --git a/images/extensions/swaggerplusplus-deprecated.png b/images/extensions/swaggerplusplus-deprecated.png new file mode 100644 index 000000000..124d3995b Binary files /dev/null and b/images/extensions/swaggerplusplus-deprecated.png differ diff --git a/images/extensions/swaggerplusplus-description.png b/images/extensions/swaggerplusplus-description.png new file mode 100644 index 000000000..5439b543e Binary files /dev/null and b/images/extensions/swaggerplusplus-description.png differ diff --git a/images/extensions/swaggerplusplus-discriminator.png b/images/extensions/swaggerplusplus-discriminator.png new file mode 100644 index 000000000..90f897ba9 Binary files /dev/null and b/images/extensions/swaggerplusplus-discriminator.png differ diff --git a/images/extensions/swaggerplusplus-links.png b/images/extensions/swaggerplusplus-links.png new file mode 100644 index 000000000..66706428b Binary files /dev/null and b/images/extensions/swaggerplusplus-links.png differ diff --git a/images/extensions/swaggerplusplus-not.png b/images/extensions/swaggerplusplus-not.png new file mode 100644 index 000000000..e50cda5b0 Binary files /dev/null and b/images/extensions/swaggerplusplus-not.png differ diff --git a/images/extensions/swaggerplusplus-nullable.png b/images/extensions/swaggerplusplus-nullable.png new file mode 100644 index 000000000..1e6da6e5a Binary files /dev/null and b/images/extensions/swaggerplusplus-nullable.png differ diff --git a/images/extensions/swaggerplusplus-oneof.png b/images/extensions/swaggerplusplus-oneof.png new file mode 100644 index 000000000..4fe95d7dc Binary files /dev/null and b/images/extensions/swaggerplusplus-oneof.png differ diff --git a/images/extensions/swaggerplusplus-required.png b/images/extensions/swaggerplusplus-required.png new file mode 100644 index 000000000..aafd88e4f Binary files /dev/null and b/images/extensions/swaggerplusplus-required.png differ diff --git a/images/extensions/swaggerplusplus-servers.png b/images/extensions/swaggerplusplus-servers.png new file mode 100644 index 000000000..8d13b5053 Binary files /dev/null and b/images/extensions/swaggerplusplus-servers.png differ diff --git a/images/extensions/swaggerplusplus-summary.png b/images/extensions/swaggerplusplus-summary.png new file mode 100644 index 000000000..8903a6797 Binary files /dev/null and b/images/extensions/swaggerplusplus-summary.png differ diff --git a/images/extensions/swaggerplusplus-trace.png b/images/extensions/swaggerplusplus-trace.png new file mode 100644 index 000000000..315a9a668 Binary files /dev/null and b/images/extensions/swaggerplusplus-trace.png differ