Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
# 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/

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).
3 changes: 2 additions & 1 deletion _extensions/swaggerplusplus-x-anyOf.md
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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: []
Expand Down
30 changes: 17 additions & 13 deletions _extensions/swaggerplusplus-x-callbacks.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: []
Expand Down
19 changes: 10 additions & 9 deletions _extensions/swaggerplusplus-x-deprecated.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: []
Expand Down
1 change: 1 addition & 0 deletions _extensions/swaggerplusplus-x-description.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: []
Expand Down
1 change: 1 addition & 0 deletions _extensions/swaggerplusplus-x-discriminator.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: []
Expand Down
19 changes: 9 additions & 10 deletions _extensions/swaggerplusplus-x-links.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
---
name: Swaggerplus Liks
name: Swaggerplus Links
slug: swaggerplusplus-links
property: x-link
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.
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: []
Expand Down
3 changes: 2 additions & 1 deletion _extensions/swaggerplusplus-x-not.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Swaggerplus JSON Schema Not
name: Swaggerplus JSON Schema not
slug: swaggerplusplus-not
property: x-not
description: >-
Expand All @@ -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: []
Expand Down
5 changes: 3 additions & 2 deletions _extensions/swaggerplusplus-x-nullable.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Swaggerplus JSON Schema Nullable
name: Swaggerplus JSON Schema nullable
slug: swaggerplusplus-nullable
property: x-nullable
description: >-
Expand All @@ -13,14 +13,15 @@ example:
description: Representation of a published book.
properties:
title:
nullable: false
x-nullable: false
schema:
type: string
tags:
- Migration
- 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: []
Expand Down
3 changes: 2 additions & 1 deletion _extensions/swaggerplusplus-x-oneOf.md
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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: []
Expand Down
3 changes: 2 additions & 1 deletion _extensions/swaggerplusplus-x-required.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Swaggerplus JSON Schema Required
name: Swaggerplus JSON Schema required
slug: swaggerplusplus-required
property: x-required
description: >-
Expand All @@ -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: []
Expand Down
1 change: 1 addition & 0 deletions _extensions/swaggerplusplus-x-servers.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: []
Expand Down
3 changes: 2 additions & 1 deletion _extensions/swaggerplusplus-x-summary.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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: []
Expand Down
1 change: 1 addition & 0 deletions _extensions/swaggerplusplus-x-trace.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: []
Expand Down
Loading