Skip to content

Commit

Permalink
Merge branch 'master' into dev0
Browse files Browse the repository at this point in the history
  • Loading branch information
sam bacha authored Jul 21, 2020
2 parents b7b6075 + 00119b7 commit 4922fc2
Show file tree
Hide file tree
Showing 33 changed files with 444 additions and 0 deletions.
23 changes: 23 additions & 0 deletions WIP/cascadingSchemes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
swagger: '2.0'
info:
version: 1.0.9-abcd
title: 'Swagger Sample API'
description: 'A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification'
termsOfService: 'http://helloreverb.com/terms/'
contact: {name: 'wordnik api team', url: 'http://developer.wordnik.com'}
license: {name: 'Creative Commons 4.0 International', url: 'http://creativecommons.org/licenses/by/4.0/'}
host: my.api.com
basePath: /v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
- application/xml
paths:
'/pets/{petId}': {get: {description: 'Returns a pet based on ID', summary: 'Find pet by ID', operationId: getPetsById, produces: [application/json, text/html], parameters: [{name: petId, in: path, description: 'ID of pet that needs to be fetched', required: true, type: array, items: {type: string}, collectionFormat: csv}], responses: {'200': {description: 'pet response', schema: {$ref: Pet}}, default: {description: 'error payload', schema: {$ref: ErrorModel}}}, schemes: [https]}}
definitions:
Pet: {required: [name], properties: {name: {type: string}, tag: {type: string}}}
ErrorModel: {required: [code, message], properties: {code: {type: integer, format: int32}, message: {type: string}}}
23 changes: 23 additions & 0 deletions WIP/commonParameters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
swagger: '2.0'
info:
version: 1.0.9-abcd
title: 'Swagger Sample API'
description: 'A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification'
termsOfService: 'http://helloreverb.com/terms/'
contact: {name: 'wordnik api team', url: 'http://developer.wordnik.com'}
license: {name: 'Creative Commons 4.0 International', url: 'http://creativecommons.org/licenses/by/4.0/'}
host: my.api.com
basePath: /v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
- application/xml
paths:
'/pets/{id}': {parameters: [{name: id, in: path, description: 'ID of pet to use', required: true, type: array, items: {type: string}, collectionFormat: csv}], get: {description: 'Returns pets based on ID', summary: 'Find pets by ID', operationId: getPetsById, produces: [application/json, text/html], responses: {'200': {description: 'pet response', schema: {type: array, items: {$ref: Pet}}}, default: {description: 'error payload', schema: {$ref: ErrorModel}}}}}
definitions:
Pet: {required: [name], properties: {name: {type: string}, tag: {type: string}}}
ErrorModel: {required: [code, message], properties: {code: {type: integer, format: int32}, message: {type: string}}}
32 changes: 32 additions & 0 deletions WIP/multipleMimeTypes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
swagger: '2.0'
info:
version: 1.0.9-abcd
title: 'Swagger Sample API'
description: 'A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification'
termsOfService: 'http://helloreverb.com/terms/'
contact: {name: 'wordnik api team', url: 'http://developer.wordnik.com'}
license: {name: 'Creative Commons 4.0 International', url: 'http://creativecommons.org/licenses/by/4.0/'}
host: my.api.com
basePath: /v1
schemes:
- http
- https
consumes:
- 'text/plain; charset=utf-8'
- application/json
- application/vnd.github+json
- application/vnd.github.v3+json
- application/vnd.github.v3.raw+json
- application/vnd.github.v3.text+json
- application/vnd.github.v3.html+json
- application/vnd.github.v3.full+json
- application/vnd.github.v3.diff
- application/vnd.github.v3.patch
produces:
- application/json
- application/xml
paths:
'/pets/{id}': {parameters: [{name: id, in: path, description: 'ID of pet to use', required: true, type: array, items: {type: string}, collectionFormat: csv}], get: {description: 'Returns pets based on ID', summary: 'Find pets by ID', operationId: getPetsById, produces: [application/json, text/html], responses: {'200': {description: 'pet response', schema: {type: array, items: {$ref: Pet}}}, default: {description: 'error payload', schema: {$ref: ErrorModel}}}}}
definitions:
Pet: {required: [name], properties: {name: {type: string}, tag: {type: string}}}
ErrorModel: {required: [code, message], properties: {code: {type: integer, format: int32}, message: {type: string}}}
14 changes: 14 additions & 0 deletions WIP/operations/operationWithTags.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: 'Returns a pet based on ID'
summary: 'Find pet by ID'
operationId: getPetsById
tags:
- foo
- bar
produces:
- application/json
- text/html
parameters:
- {name: petId, in: path, description: 'ID of pet that needs to be fetched', required: true, type: integer, format: int64}
responses:
'200': {description: 'a pet to be returned', schema: {$ref: Pet}}
default: {description: 'Unexpected error', schema: {$ref: ErrorModel}}
12 changes: 12 additions & 0 deletions WIP/operations/stringPathAndBoolQueryParamResource.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: 'Returns a pet based on ID'
summary: 'Find pet by ID'
operationId: getPetsById
produces:
- application/json
- text/html
parameters:
- {name: petId, in: path, description: 'ID of pet that needs to be fetched', required: true, type: integer, format: int64}
- {name: includeDetails, in: query, description: 'include details in response', required: true, type: boolean}
responses:
'200': {description: 'a pet to be returned', schema: {$ref: Pet}}
default: {description: 'Unexpected error', schema: {$ref: ErrorModel}}
12 changes: 12 additions & 0 deletions WIP/operations/stringPathParamResource.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: 'Returns a pet based on ID'
summary: 'Find pet by ID'
operationId: getPetsById
produces:
- application/json
- text/html
parameters:
- {name: petId, in: path, description: 'ID of pet that needs to be fetched', required: true, type: integer, format: int64}
responses:
'200': {description: fun, schema: {$ref: Pet}}
'400': {description: 'Invalid ID supplied <= this is purely for documentation', schema: {$ref: ErrorModel}}
default: {description: 'Unexpected error', schema: {$ref: ErrorModel}}
8 changes: 8 additions & 0 deletions WIP/parameters/bodyComplexArrayParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: user
in: body
description: 'user to add to the system'
required: true
schema:
type: array
items: {type: string}
format: csv
6 changes: 6 additions & 0 deletions WIP/parameters/bodyComplexParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: user
in: body
description: 'user to add to the system'
required: true
schema:
$ref: User
7 changes: 7 additions & 0 deletions WIP/parameters/bodyInt64Parameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: id
in: body
description: 'id to add'
required: true
schema:
type: integer
format: int64
7 changes: 7 additions & 0 deletions WIP/parameters/bodyStringArrayParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: user
in: body
description: 'user to add to the system'
required: true
schema:
type: array
items: {type: string}
6 changes: 6 additions & 0 deletions WIP/parameters/bodyStringParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: user
in: body
description: 'user to add to the system'
required: true
schema:
type: string
5 changes: 5 additions & 0 deletions WIP/parameters/formDataComplexParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: firstName
in: formData
description: 'users first name'
required: true
$ref: Nothing
6 changes: 6 additions & 0 deletions WIP/parameters/formDataInt64Parameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: id
in: formData
description: 'username to fetch'
required: true
type: integer
format: int64
7 changes: 7 additions & 0 deletions WIP/parameters/formDataStringArrayParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: user
in: formData
description: 'user to add to the system'
required: true
type: array
items:
type: string
5 changes: 5 additions & 0 deletions WIP/parameters/formDataStringParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: firstName
in: formData
description: 'users first name'
required: true
type: string
9 changes: 9 additions & 0 deletions WIP/parameters/headerInt64ArrayParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: token
in: header
description: 'token to be passed as a header'
required: true
type: array
items:
type: integer
format: int64
collectionFormat: csv
8 changes: 8 additions & 0 deletions WIP/parameters/headerStringArrayParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: token
in: header
description: 'token to be passed as a header'
required: true
type: array
items:
type: string
collectionFormat: csv
5 changes: 5 additions & 0 deletions WIP/parameters/headerStringParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: token
in: header
description: 'token to be passed as a header'
required: true
type: string
6 changes: 6 additions & 0 deletions WIP/parameters/pathInt64Parameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: id
in: path
description: 'username to fetch'
required: true
type: integer
format: int64
8 changes: 8 additions & 0 deletions WIP/parameters/pathStringArrayParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: usernames
in: path
description: 'usernames to pass'
required: true
type: array
items:
type: string
collectionFormat: csv
5 changes: 5 additions & 0 deletions WIP/parameters/pathStringParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: username
in: path
description: 'username to fetch'
required: true
type: string
9 changes: 9 additions & 0 deletions WIP/parameters/queryInt64ArrayParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: id
in: query
description: 'ID of the object to fetch'
required: true
type: array
items:
type: integer
format: int64
collectionFormat: csv
6 changes: 6 additions & 0 deletions WIP/parameters/queryStringParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: id
in: query
description: 'ID of the object to fetch'
required: true
type: integer
format: int64
6 changes: 6 additions & 0 deletions WIP/parameters/queryWithComplexParameter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: id
in: query
description: 'a complex object which should not validate'
required: true
schema:
$ref: Pet
23 changes: 23 additions & 0 deletions WIP/resourceWithExamplePayload.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
swagger: '2.0'
info:
version: 1.0.9-abcd
title: 'Swagger Sample API'
description: 'A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification'
termsOfService: 'http://helloreverb.com/terms/'
contact: {name: 'wordnik api team', url: 'http://developer.wordnik.com'}
license: {name: 'Creative Commons 4.0 International', url: 'http://creativecommons.org/licenses/by/4.0/'}
host: my.api.com
basePath: /v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
- application/xml
paths:
'/pets/{petId}': {get: {description: 'Returns a pet based on ID', summary: 'Find pet by ID', operationId: getPetsById, produces: [application/json, text/html], parameters: [{name: petId, in: path, description: 'ID of pet that needs to be fetched', required: true, type: array, items: {type: string}, collectionFormat: csv}], responses: {'200': {description: 'pet response', schema: {$ref: Pet}, examples: {application/json: {id: 9, category: {name: domestic}, name: monster, tags: [{name: 'for sale'}], status: alive}}}, default: {description: 'error payload', schema: {$ref: ErrorModel}}}}}
definitions:
Pet: {required: [name], properties: {name: {type: string, example: cat}, tag: {type: string, example: 'for sale'}}}
ErrorModel: {required: [code, message], properties: {code: {type: integer, format: int32}, message: {type: string}}}
23 changes: 23 additions & 0 deletions WIP/resourceWithLinkedDefinitions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
swagger: '2.0'
info:
version: 1.0.9-abcd
title: 'Swagger Sample API'
description: 'A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification'
termsOfService: 'http://helloreverb.com/terms/'
contact: {name: 'wordnik api team', url: 'http://developer.wordnik.com'}
license: {name: 'Creative Commons 4.0 International', url: 'http://creativecommons.org/licenses/by/4.0/'}
host: my.api.com
basePath: /v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
- application/xml
paths:
'/pets/{petId}': {$ref: 'https://raw.githubusercontent.com/reverb/swagger-spec/master/fixtures/v2.0/json/resources/resourceWithLinkedDefinitions_part1.json'}
definitions:
Pet: {required: [name], properties: {name: {type: string}, tag: {type: string}}}
ErrorModel: {required: [code, message], properties: {code: {type: integer, format: int32}, message: {type: string}}}
7 changes: 7 additions & 0 deletions WIP/resourceWithLinkedDefinitions_part1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
get:
description: 'Returns a pet based on ID'
summary: 'Find pet by ID'
operationId: getPetsById
produces: [application/json, text/html]
parameters: [{name: petId, in: path, description: 'ID of pet that needs to be fetched', required: true, type: array, items: {type: string}, collectionFormat: csv}]
responses: {'200': {description: 'pet response', schema: {$ref: Pet}}, default: {description: 'error payload', schema: {$ref: ErrorModel}}}
22 changes: 22 additions & 0 deletions WIP/resourceWithRelativeHost.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
swagger: '2.0'
info:
version: 1.0.9-abcd
title: 'Swagger Sample API'
description: 'A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification'
termsOfService: 'http://helloreverb.com/terms/'
contact: {name: 'wordnik api team', url: 'http://developer.wordnik.com'}
license: {name: 'Creative Commons 4.0 International', url: 'http://creativecommons.org/licenses/by/4.0/'}
basePath: /v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
- application/xml
paths:
'/pets/{id}': {parameters: [{name: id, in: path, description: 'ID of pet to use', required: true, type: array, items: {type: string}, collectionFormat: csv}], get: {description: 'Returns pets based on ID', summary: 'Find pets by ID', operationId: getPetsById, produces: [application/json, text/html], responses: {'200': {description: 'pet response', schema: {type: array, items: {$ref: Pet}}}, default: {description: 'error payload', schema: {$ref: ErrorModel}}}}}
definitions:
Pet: {required: [name], properties: {name: {type: string}, tag: {type: string}}}
ErrorModel: {required: [code, message], properties: {code: {type: integer, format: int32}, message: {type: string}}}
26 changes: 26 additions & 0 deletions WIP/reusableParameters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
swagger: '2.0'
info:
version: 1.0.9-abcd
title: 'Swagger Sample API'
description: 'A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification'
termsOfService: 'http://helloreverb.com/terms/'
contact: {name: 'wordnik api team', url: 'http://developer.wordnik.com'}
license: {name: 'Creative Commons 4.0 International', url: 'http://creativecommons.org/licenses/by/4.0/'}
host: my.api.com
basePath: /v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
- application/xml
paths:
'/pets/{id}': {get: {description: 'Returns pets based on ID', summary: 'Find pets by ID', operationId: getPetsById, parameters: [{$ref: '#/parameters/skipParam'}, {$ref: '#/parameters/limitParam'}], responses: {'200': {description: 'pet response', schema: {type: array, items: {$ref: Pet}}}, default: {description: 'error payload', schema: {$ref: ErrorModel}}}}}
parameters:
skipParam: {name: skip, in: query, description: 'number of items to skip', required: true, type: integer, format: int32}
limitParam: {name: limit, in: query, description: 'max records to return', required: true, type: integer, format: int32}
definitions:
Pet: {required: [name], properties: {name: {type: string}, tag: {type: string}}}
ErrorModel: {required: [code, message], properties: {code: {type: integer, format: int32}, message: {type: string}}}
29 changes: 29 additions & 0 deletions WIP/securityExample.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
swagger: '2.0'
info:
version: 1.0.9-abcd
title: 'Swagger Sample API'
description: 'A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification'
termsOfService: 'http://helloreverb.com/terms/'
contact: {name: 'wordnik api team', url: 'http://developer.wordnik.com'}
license: {name: 'Creative Commons 4.0 International', url: 'http://creativecommons.org/licenses/by/4.0/'}
basePath: /v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
- application/xml
security:
- {githubAccessCode: [user, gist]}
- {internalApiKey: []}
paths:
'/pets/{id}': {parameters: [{name: id, in: path, description: 'ID of pet to use', required: true, type: array, items: {type: string}, collectionFormat: csv}], get: {description: 'Returns pets based on ID', summary: 'Find pets by ID', operationId: getPetsById, security: [{githubAuth: ['user:read', 'user:write']}, {internalApiKey: []}], produces: [application/json, text/html], responses: {'200': {description: 'pet response', schema: {type: array, items: {$ref: Pet}}}, default: {description: 'error payload', schema: {$ref: ErrorModel}}}}}
securityDefinitions:
githubAccessCode: {type: oauth2, scopes: {user: 'Grants read/write access to profile info only. Note that this scope includes user:email and user:follow.', 'user:email': 'Grants read access to a user’s email addresses.', 'user:follow': 'Grants access to follow or unfollow other users.', public_repo: 'Grants read/write access to code, commit statuses, and deployment statuses for public repositories and organizations.', repo: 'Grants read/write access to code, commit statuses, and deployment statuses for public and private repositories and organizations.', repo_deployment: 'Grants access to deployment statuses for public and private repositories. This scope is only necessary to grant other users or services access to deployment statuses, without granting access to the code.', 'repo:status': 'Grants read/write access to public and private repository commit statuses. This scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.', delete_repo: 'Grants access to delete adminable repositories.', notifications: 'Grants read access to a user’s notifications. repo also provides this access.', gist: 'Grants write access to gists.', 'read:repo_hook': 'Grants read and ping access to hooks in public or private repositories.', 'write:repo_hook': 'Grants read, write, and ping access to hooks in public or private repositories.', 'admin:repo_hook': 'Grants read, write, ping, and delete access to hooks in public or private repositories.', 'read:org': 'Read-only access to organization, teams, and membership.', 'write:org': 'Publicize and unpublicize organization membership.', 'admin:org': 'Fully manage organization, teams, and memberships.', 'read:public_key': 'List and view details for public keys.', 'write:public_key': 'Create, list, and view details for public keys.', 'admin:public_key': 'Fully manage public keys.'}, flow: accessCode, authorizationUrl: 'https://github.com/login/oauth/authorize', tokenUrl: 'https://github.com/login/oauth/access_token'}
petstoreImplicit: {type: oauth2, scopes: {user: 'Grants read/write access to profile info only. Note that this scope includes user:email and user:follow.', 'user:email': 'Grants read access to a user’s email addresses.', 'user:follow': 'Grants access to follow or unfollow other users.', public_repo: 'Grants read/write access to code, commit statuses, and deployment statuses for public repositories and organizations.', repo: 'Grants read/write access to code, commit statuses, and deployment statuses for public and private repositories and organizations.', repo_deployment: 'Grants access to deployment statuses for public and private repositories. This scope is only necessary to grant other users or services access to deployment statuses, without granting access to the code.', 'repo:status': 'Grants read/write access to public and private repository commit statuses. This scope is only necessary to grant other users or services access to private repository commit statuses without granting access to the code.', delete_repo: 'Grants access to delete adminable repositories.', notifications: 'Grants read access to a user’s notifications. repo also provides this access.', gist: 'Grants write access to gists.', 'read:repo_hook': 'Grants read and ping access to hooks in public or private repositories.', 'write:repo_hook': 'Grants read, write, and ping access to hooks in public or private repositories.', 'admin:repo_hook': 'Grants read, write, ping, and delete access to hooks in public or private repositories.', 'read:org': 'Read-only access to organization, teams, and membership.', 'write:org': 'Publicize and unpublicize organization membership.', 'admin:org': 'Fully manage organization, teams, and memberships.', 'read:public_key': 'List and view details for public keys.', 'write:public_key': 'Create, list, and view details for public keys.', 'admin:public_key': 'Fully manage public keys.'}, flow: implicit, authorizationUrl: 'http://petstore.swagger.wordnik.com/oauth/dialog'}
internalApiKey: {type: apiKey, in: header, name: api_key}
definitions:
Pet: {required: [name], properties: {name: {type: string}, tag: {type: string}}}
ErrorModel: {required: [code, message], properties: {code: {type: integer, format: int32}, message: {type: string}}}
Loading

0 comments on commit 4922fc2

Please sign in to comment.