This commit is contained in:
2024-05-24 15:27:07 +03:00
parent 17df2ce6a9
commit fc1da2c238
643 changed files with 110185 additions and 231 deletions

View File

@ -0,0 +1,85 @@
openapi: 3.0.0
info:
title: Demo API
description: First test
termsOfService: 'http://demo.io/terms-of-service/'
contact:
name: Demo Support
email: support@demo.io
version: 1.0.0
servers:
- url: '{server}/v1'
variables:
server:
default: https://api.demo.io
description: the API endpoint
paths:
/session:
put:
summary: Returns a new authentication token
tags:
- session
security:
- basicAuth: []
responses:
'201':
description: A session object
content:
application/json:
schema:
allOf:
- type: object
properties:
user_id:
type: string
format: uuid
readOnly: true
example: 110e8400-e29b-11d4-a716-446655440000
- $ref: '#/components/schemas/Session'
'401':
$ref: '#/components/responses/Unauthorized'
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
Session:
required:
- token
properties:
token:
type: string
readOnly: true
example: >-
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.EkN-DOsnsuRjRO6BxXemmJDm3HbxrbRzXglbN2S4sOkopdU4IsDxTI8jO19W_A4K8ZPJijNLis4EZsHeY559a4DFOd50_OqgHGuERTqYZyuhtF39yxJPAjUESwxk2J5k_4zM3O-vtd1Ghyo4IbqKKSy6J9mTniYJPenn5-HIirE
Error:
required:
- message
properties:
message:
description: a human readable message explaining the error
type: string
reason:
description: a functional key about the error
type: string
responses:
Unauthorized:
description: Not authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Default:
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'

View File

@ -0,0 +1,228 @@
---
openapi: 3.0.0
servers:
- url: http://localhost:3204/
info:
description: 'This is a sample server Petstore server. You can find out more about
Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For
this sample, you can use the api key `special-key` to test the authorization filters.'
version: 1.0.0
title: Swagger Petstore
termsOfService: http://swagger.io/terms/
contact:
email: apiteam@swagger.io
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
tags:
- name: pet
description: Everything about your Pets
externalDocs:
description: Find out more
url: http://swagger.io
- name: store
description: Access to Petstore orders
- name: user
description: Operations about user
externalDocs:
description: Find out more about our store
url: http://swagger.io
paths:
"/pet/findByStatus":
get:
tags:
- pet
summary: Finds Pets by status
description: Multiple status values can be provided with comma separated strings
operationId: findPetsByStatus
parameters:
- name: status
in: query
description: Status values that need to be considered for filter
required: true
explode: true
schema:
type: array
items:
type: string
enum:
- available
- pending
- sold
default: available
responses:
'200':
description: successful operation
content:
application/xml:
schema:
type: array
items:
"$ref": "#/components/schemas/Pet"
application/json:
schema:
type: array
items:
"$ref": "#/components/schemas/Pet"
'400':
description: Invalid status value
security:
- petstore_auth:
- write:pets
- read:pets
externalDocs:
description: Find out more about Swagger
url: http://swagger.io
components:
schemas:
Order:
type: object
properties:
id:
type: integer
format: int64
petId:
type: integer
format: int64
quantity:
type: integer
format: int32
shipDate:
type: string
format: date-time
status:
type: string
description: Order Status
enum:
- placed
- approved
- delivered
complete:
type: boolean
default: false
xml:
name: Order
Category:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
xml:
name: Category
User:
type: object
properties:
id:
type: integer
format: int64
username:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
password:
type: string
phone:
type: string
userStatus:
type: integer
format: int32
description: User Status
xml:
name: User
Tag:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
xml:
name: Tag
Pet:
type: object
required:
- name
- photoUrls
properties:
id:
type: integer
format: int64
category:
"$ref": "#/components/schemas/Category"
name:
type: string
example: doggie
photoUrls:
type: array
xml:
name: photoUrl
wrapped: true
items:
type: string
tags:
type: array
xml:
name: tag
wrapped: true
items:
"$ref": "#/components/schemas/Tag"
status:
type: string
description: pet status in the store
enum:
- available
- pending
- sold
xml:
name: Pet
ApiResponse:
type: object
properties:
code:
type: integer
format: int32
type:
type: string
message:
type: string
requestBodies:
Pet:
content:
application/json:
schema:
"$ref": "#/components/schemas/Pet"
application/xml:
schema:
"$ref": "#/components/schemas/Pet"
description: Pet object that needs to be added to the store
required: true
UserArray:
content:
application/json:
schema:
type: array
items:
"$ref": "#/components/schemas/User"
description: List of user object
required: true
securitySchemes:
petstore_auth:
type: oauth2
flows:
implicit:
authorizationUrl: http://petstore.swagger.io/oauth/dialog
scopes:
write:pets: modify pets in your account
read:pets: read your pets
api_key:
type: apiKey
name: api_key
in: header

View File

@ -0,0 +1,24 @@
openapi: 3.0.0
servers:
- url: 'https://__host__/'
info:
description: Test API
version: '1.0'
title: Test API
contact:
name: Sample Person
email: Sample.Person@adp.com
tags:
- name: Test API with Schema
description: Test API with Schema
paths:
/myApi:
get:
operationId: some guid
responses:
'200':
description: Returns documents
description: Returns documents
tags:
- Test API with Schema
summary: Test API with Schema

View File

@ -0,0 +1,64 @@
openapi: 3.0.0
info:
title: Callback Example
version: 1.0.0
paths:
/streams:
post:
description: subscribes a client to receive out-of-band data
parameters:
- name: callbackUrl
in: query
required: true
description: |
the location where data will be sent. Must be network accessible
by the source server
schema:
type: string
format: uri
example: https://tonys-server.com
responses:
'201':
description: subscription successfully created
content:
application/json:
schema:
description: subscription information
required:
- subscriptionId
properties:
subscriptionId:
description: this unique identifier allows management of the subscription
type: string
example: 2531329f-fb09-4ef7-887e-84e648214436
callbacks:
# the name `onData` is a convenience locator
onData:
$ref: '#/components/callbacks/onData'
components:
callbacks:
onData:
# when data is sent, it will be sent to the `callbackUrl` provided
# when making the subscription PLUS the suffix `/data`
'{$request.query.callbackUrl}/data':
post:
requestBody:
description: subscription payload
content:
application/json:
schema:
properties:
timestamp:
type: string
format: date-time
userData:
type: string
responses:
'202':
description: |
Your server implementation should return this HTTP status code
if the data was received successfully
'204':
description: |
Your server should return this HTTP status code if no longer interested
in further updates

View File

@ -0,0 +1,15 @@
---
post:
description: Book
operationId: buy
summary: Buy a book
tags:
- Book
consumes:
- application/json
- application/xml
parameters:
- name: requestBody
in: body
description: Buy a Book
required: true

View File

@ -0,0 +1,5 @@
---
swagger: '2.0'
paths:
"/v1/book":
"$ref": "./book.yaml"

View File

@ -0,0 +1,9 @@
swagger: '2.0'
info:
version: 0.0.0
title: test
paths: {}
definitions:
ModelName:
title: TitleName

View File

@ -0,0 +1,126 @@
---
swagger: '2.0'
info:
version: 0.0.1
title: DDErl REST interface
description: RESTful access to IMEM DB and DDErl
schemes:
- http
- https
securityDefinitions:
basicAuth:
type: basic
description: HTTP Basic Authentication Username:Password
basePath: "/dderlrest/0.0.1"
paths:
"/sql/":
get:
tags:
- sql
security:
- basicAuth: []
summary: execute sql
operationId: execSql
description: Prepare and execute SQL statements
parameters:
- name: x-irest-conn
in: header
required: false
description: ErlImem connection identifier
type: string
produces:
- application/json
responses:
'200':
description: OK
schema:
type: object
headers:
x-irest-conn:
description: ErlImem connection identifier
type: string
'403':
description: Malformed/Invalid
schema:
"$ref": "#/definitions/ErrorResponse"
definitions:
ErrorResponse:
readOnly: true
type: object
required:
- errorCode
- errorMessage
- errorDetails
properties:
errorCode:
description: Error Code
type: number
example: 1400
errorMessage:
description: Error Message
type: string
example: malformed
errorDetails:
description: Error Details
type: string
example: mandatory properties missing or bad type
ViewParams:
readOnly: true
type: array
items:
type: object
required:
- typ
- value
- name
properties:
name:
description: Name
type: string
example: ":atom_user"
value:
description: Value
type: string
example: system
typ:
description: Datatype
type: string
enum:
- atom
- binary
- raw
- blob
- rowid
- binstr
- clob
- nclob
- varchar2
- nvarchar2
- char
- nchar
- boolean
- datetime
- decimal
- float
- fun
- integer
- ipaddr
- list
- map
- number
- pid
- ref
- string
- term
- binterm
- timestamp
- tuple
- userid
example: atom
dir:
description: Direction
type: string
enum:
- in
- out
default: in

View File

@ -0,0 +1,51 @@
swagger: '2.0'
info:
title: test doc
description: 'test doc '
license:
name: Copyright @2018
version: 1.0.0
host: www.example.com
basePath: /test/API
tags:
- name: devices
description: devices
schemes:
- http
- https
consumes:
- application/x-www-form-urlencoded
produces:
- application/json
paths:
/zero:
post:
parameters:
- in: query
name: one
type: string
required: true
enum:
- 0
- 1
responses:
200:
description: 'response'
examples:
application/json: {"error":0}
/one:
post:
parameters:
- in: query
name: one
type: string
required: true
default: 1
enum:
- 0
- 1
responses:
200:
description: 'response'
examples:
application/json: {"error":0}

View File

@ -0,0 +1,35 @@
openapi: '3.0.0'
info:
description: >-
Repro API
title: Repro API
version: '1.0'
paths:
/test:
get:
summary: Test get
parameters:
- name: fields
in: query
required: false
explode: false
schema:
type: array
items:
type: string
style: form
example:
- friends
- family
responses:
200:
description: Success!
content:
application/json:
schema:
type: object
properties:
id:
type: integer
name:
type: string

View File

@ -0,0 +1,41 @@
openapi: 3.0.0
servers:
- url: http://petstore.swagger.io/v2
info:
version: 1.0.0
title: Swagger Petstore
termsOfService: http://swagger.io/terms/
contact:
email: apiteam@swagger.io
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
paths:
"/pet":
post:
tags:
- pet
summary: Add a new pet to the store
description: ''
operationId: addPet
parameters: []
responses:
'405':
description: Invalid input
security:
- petstore_auth:
- write:pets
- read:pets
callbacks:
myWebhook:
'$request.body#/url':
post:
requestBody:
description: Callback payload
content:
'application/json':
schema:
type: string
responses:
'200':
description: webhook successfully processed and no retries will be performed

View File

@ -0,0 +1,64 @@
openapi: "3.0.0"
paths:
/regularParams:
get:
parameters:
- name: int
in: query
schema:
type: integer
- name: str
in: query
schema:
type: string
- name: num
in: query
schema:
type: number
- name: bool
in: query
schema:
type: boolean
- name: arr
in: query
schema:
type: array
items:
type: string
responses:
200:
description: ok
/emptyValueParams:
get:
parameters:
- name: int
in: query
schema:
type: integer
allowEmptyValue: true
- name: str
in: query
schema:
type: string
allowEmptyValue: true
- name: num
in: query
schema:
type: number
allowEmptyValue: true
- name: bool
in: query
schema:
type: boolean
allowEmptyValue: true
- name: arr
in: query
schema:
type: array
items:
type: string
allowEmptyValue: true
responses:
200:
description: ok

View File

@ -0,0 +1,57 @@
swagger: "2.0"
consumes:
- application/json
- multipart/form-data
paths:
/regularParams:
get:
parameters:
- name: int
in: query
type: integer
- name: str
in: query
type: string
- name: num
in: query
type: number
- name: bool
in: query
type: boolean
- name: arr
in: query
type: array
items:
type: string
responses:
200:
description: ok
/emptyValueParams:
get:
parameters:
- name: int
in: query
type: integer
allowEmptyValue: true
- name: str
in: query
type: string
allowEmptyValue: true
- name: num
in: query
type: number
allowEmptyValue: true
- name: bool
in: query
type: boolean
allowEmptyValue: true
- name: arr
in: query
type: array
items:
type: string
allowEmptyValue: true
responses:
200:
description: ok

View File

@ -0,0 +1,156 @@
openapi: 3.0.0
servers:
- url: http://example.com/v1
description: Production server version 1
- url: http://staging-api.example.com
description: Staging server
info:
description: |
This is an API documentation of example.
version: "0.1.0"
title: Example
termsOfService: 'http://www.example.com/terms/'
contact:
email: developer@example.com
license:
name: Proprietary license
url: 'http://www.example.com/license/'
tags:
- name: agent
description: Access to example
paths:
/agents/{agentId}:
put:
tags:
- agent
summary: Edit agent
operationId: editAgent
parameters:
- in: path
name: agentId
schema:
type: integer
example: 12345
required: true
description: Numeric ID of the paper agent to edit
requestBody:
required: true
content:
application/json_media-type-level:
schema:
type: object
properties:
code:
type: string
name:
type: string
example:
code: AE1
name: Andrew
application/json_schema-level:
schema:
type: object
properties:
code:
type: string
name:
type: string
example:
code: AE1
name: Andrew
application/json_property-level:
schema:
type: object
properties:
code:
type: string
example: AE1
name:
type: string
example: Andrew
responses:
'200':
description: media type-level example
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
payload:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
readOnly: true
code:
type: string
name:
type: string
example:
code: 200
payload:
- id: 1
code: AE2
name: Yono
'201':
description: schema-level example
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
payload:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
readOnly: true
code:
type: string
name:
type: string
example:
code: 201
payload:
- id: 1
code: AE2
name: Yono
'202':
description: property-level example
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
example: 202
payload:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
readOnly: true
example: 1
code:
type: string
example: AE2
name:
type: string
example: Yono

View File

@ -0,0 +1,127 @@
swagger: "2.0"
info:
description: |
This is an API documentation of example.
version: "0.1.0"
title: Example
termsOfService: 'http://www.example.com/terms/'
contact:
email: developer@example.com
license:
name: Proprietary license
url: 'http://www.example.com/license/'
paths:
/one:
put:
parameters:
- in: query
name: NotValidParam
type: integer
example: 12345
required: true
description: This example **should not** have an effect
- in: query
name: ValidParam
type: integer
x-example: 12345
description: This example **should** have an effect
- in: body
name: body
description: property-level examples
schema:
type: object
properties:
one:
type: string
example: hello!
two:
type: object
properties:
uno:
type: string
example: wow!
dos:
type: string
example: hey there!
- in: body
name: body2
description: root schema-level example
schema:
type: object
properties:
foo:
type: string
bar:
type: integer
example:
foo: hey
bar: 123
- in: body
name: body3
description: nested schema-level example
schema:
type: object
properties:
one:
type: object
properties:
uno:
type: string
dos:
type: string
example:
uno: woohoo!
dos: amazing!
responses:
'201':
description: schema-level example
schema:
type: object
properties:
code:
type: integer
format: int64
payload:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
readOnly: true
code:
type: string
name:
type: string
example:
code: 201
payload:
- id: 1
code: AE2
name: Yono
'202':
description: property-level example
schema:
type: object
properties:
code:
type: integer
format: int64
example: 202
payload:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
readOnly: true
example: 1
code:
type: string
example: AE2
name:
type: string
example: Yono

View File

@ -0,0 +1,21 @@
openapi: 3.0.0
info:
title: test
version: 0.0.0
paths:
/report:
get:
parameters:
- in: query
name: rel_date
required: true
schema:
type: string
default: today
enum:
- today
- yesterday
- lastweek
responses:
'200':
description: OK

View File

@ -0,0 +1,20 @@
swagger: '2.0'
info:
title: test
version: 0.0.0
paths:
/report:
get:
parameters:
- in: query
name: rel_date
required: true
type: string
default: today
enum:
- today
- yesterday
- lastweek
responses:
200:
description: OK

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,689 @@
---
openapi: 3.0.0
servers:
- url: http://localhost:3204/
info:
description: 'This is a sample server Petstore server. You can find out more about
Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For
this sample, you can use the api key `special-key` to test the authorization filters.'
version: 1.0.0
title: Swagger Petstore
termsOfService: http://swagger.io/terms/
contact:
email: apiteam@swagger.io
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
tags:
- name: pet
description: Everything about your Pets
externalDocs:
description: Find out more
url: http://swagger.io
- name: store
description: Access to Petstore orders
- name: user
description: Operations about user
externalDocs:
description: Find out more about our store
url: http://swagger.io
paths:
"/pet":
post:
tags:
- pet
summary: Add a new pet to the store
description: ''
operationId: addPet
responses:
'405':
description: Invalid input
security:
- petstore_auth:
- write:pets
- read:pets
requestBody:
"$ref": "#/components/requestBodies/Pet"
put:
tags:
- pet
summary: Update an existing pet
description: ''
operationId: updatePet
responses:
'400':
description: Invalid ID supplied
'404':
description: Pet not found
'405':
description: Validation exception
security:
- petstore_auth:
- write:pets
- read:pets
requestBody:
"$ref": "#/components/requestBodies/Pet"
"/pet/findByStatus":
get:
tags:
- pet
summary: Finds Pets by status
description: Multiple status values can be provided with comma separated strings
operationId: findPetsByStatus
parameters:
- name: status
in: query
description: Status values that need to be considered for filter
required: true
explode: true
schema:
type: array
items:
type: string
enum:
- available
- pending
- sold
default: available
responses:
'200':
description: successful operation
content:
application/xml:
schema:
type: array
items:
"$ref": "#/components/schemas/Pet"
application/json:
schema:
type: array
items:
"$ref": "#/components/schemas/Pet"
'400':
description: Invalid status value
security:
- petstore_auth:
- write:pets
- read:pets
"/pet/findByTags":
get:
tags:
- pet
summary: Finds Pets by tags
description: Muliple tags can be provided with comma separated strings. Use
tag1, tag2, tag3 for testing.
operationId: findPetsByTags
parameters:
- name: tags
in: query
description: Tags to filter by
required: true
explode: true
schema:
type: array
items:
type: string
responses:
'200':
description: successful operation
content:
application/xml:
schema:
type: array
items:
"$ref": "#/components/schemas/Pet"
application/json:
schema:
type: array
items:
"$ref": "#/components/schemas/Pet"
'400':
description: Invalid tag value
security:
- petstore_auth:
- write:pets
- read:pets
deprecated: true
"/pet/{petId}":
get:
tags:
- pet
summary: Find pet by ID
description: Returns a single pet
operationId: getPetById
parameters:
- name: petId
in: path
description: ID of pet to return
required: true
schema:
type: integer
format: int64
responses:
'200':
description: successful operation
content:
application/xml:
schema:
"$ref": "#/components/schemas/Pet"
application/json:
schema:
"$ref": "#/components/schemas/Pet"
'400':
description: Invalid ID supplied
'404':
description: Pet not found
security:
- api_key: []
post:
tags:
- pet
summary: Updates a pet in the store with form data
description: ''
operationId: updatePetWithForm
parameters:
- name: petId
in: path
description: ID of pet that needs to be updated
required: true
schema:
type: integer
format: int64
responses:
'405':
description: Invalid input
security:
- petstore_auth:
- write:pets
- read:pets
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
name:
description: Updated name of the pet
type: string
status:
description: Updated status of the pet
type: string
delete:
tags:
- pet
summary: Deletes a pet
description: ''
operationId: deletePet
parameters:
- name: api_key
in: header
required: false
schema:
type: string
- name: petId
in: path
description: Pet id to delete
required: true
schema:
type: integer
format: int64
responses:
'400':
description: Invalid ID supplied
'404':
description: Pet not found
security:
- petstore_auth:
- write:pets
- read:pets
"/pet/{petId}/uploadImage":
post:
tags:
- pet
summary: uploads an image
description: ''
operationId: uploadFile
parameters:
- name: petId
in: path
description: ID of pet to update
required: true
schema:
type: integer
format: int64
responses:
'200':
description: successful operation
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponse"
security:
- petstore_auth:
- write:pets
- read:pets
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
"/store/inventory":
get:
tags:
- store
summary: Returns pet inventories by status
description: Returns a map of status codes to quantities
operationId: getInventory
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: object
additionalProperties:
type: integer
format: int32
security:
- api_key: []
"/store/order":
post:
tags:
- store
summary: Place an order for a pet
description: ''
operationId: placeOrder
responses:
'200':
description: successful operation
content:
application/xml:
schema:
"$ref": "#/components/schemas/Order"
application/json:
schema:
"$ref": "#/components/schemas/Order"
'400':
description: Invalid Order
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/Order"
description: order placed for purchasing the pet
required: true
"/store/order/{orderId}":
get:
tags:
- store
summary: Find purchase order by ID
description: For valid response try integer IDs with value >= 1 and <= 10. Other
values will generated exceptions
operationId: getOrderById
parameters:
- name: orderId
in: path
description: ID of pet that needs to be fetched
required: true
schema:
type: integer
format: int64
minimum: 1
maximum: 10
responses:
'200':
description: successful operation
content:
application/xml:
schema:
"$ref": "#/components/schemas/Order"
application/json:
schema:
"$ref": "#/components/schemas/Order"
'400':
description: Invalid ID supplied
'404':
description: Order not found
delete:
tags:
- store
summary: Delete purchase order by ID
description: For valid response try integer IDs with positive integer value.
Negative or non-integer values will generate API errors
operationId: deleteOrder
parameters:
- name: orderId
in: path
description: ID of the order that needs to be deleted
required: true
schema:
type: integer
format: int64
minimum: 1
responses:
'400':
description: Invalid ID supplied
'404':
description: Order not found
"/user":
post:
tags:
- user
summary: Create user
description: This can only be done by the logged in user.
operationId: createUser
responses:
default:
description: successful operation
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/User"
description: Created user object
required: true
"/user/createWithArray":
post:
tags:
- user
summary: Creates list of users with given input array
description: ''
operationId: createUsersWithArrayInput
responses:
default:
description: successful operation
requestBody:
"$ref": "#/components/requestBodies/UserArray"
"/user/createWithList":
post:
tags:
- user
summary: Creates list of users with given input array
description: ''
operationId: createUsersWithListInput
responses:
default:
description: successful operation
requestBody:
"$ref": "#/components/requestBodies/UserArray"
"/user/login":
get:
tags:
- user
summary: Logs user into the system
description: ''
operationId: loginUser
parameters:
- name: username
in: query
description: The user name for login
required: true
schema:
type: string
- name: password
in: query
description: The password for login in clear text
required: true
schema:
type: string
responses:
'200':
description: successful operation
headers:
X-Rate-Limit:
description: calls per hour allowed by the user
schema:
type: integer
format: int32
X-Expires-After:
description: date in UTC when token expires
schema:
type: string
format: date-time
content:
application/xml:
schema:
type: string
application/json:
schema:
type: string
'400':
description: Invalid username/password supplied
"/user/logout":
get:
tags:
- user
summary: Logs out current logged in user session
description: ''
operationId: logoutUser
responses:
default:
description: successful operation
"/user/{username}":
get:
tags:
- user
summary: Get user by user name
description: ''
operationId: getUserByName
parameters:
- name: username
in: path
description: 'The name that needs to be fetched. Use user1 for testing. '
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/xml:
schema:
"$ref": "#/components/schemas/User"
application/json:
schema:
"$ref": "#/components/schemas/User"
'400':
description: Invalid username supplied
'404':
description: User not found
put:
tags:
- user
summary: Updated user
description: This can only be done by the logged in user.
operationId: updateUser
parameters:
- name: username
in: path
description: name that need to be updated
required: true
schema:
type: string
responses:
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/User"
description: Updated user object
required: true
delete:
tags:
- user
summary: Delete user
description: This can only be done by the logged in user.
operationId: deleteUser
parameters:
- name: username
in: path
description: The name that needs to be deleted
required: true
schema:
type: string
responses:
'400':
description: Invalid username supplied
'404':
description: User not found
externalDocs:
description: Find out more about Swagger
url: http://swagger.io
components:
schemas:
Order:
type: object
properties:
id:
type: integer
format: int64
petId:
type: integer
format: int64
quantity:
type: integer
format: int32
shipDate:
type: string
format: date-time
status:
type: string
description: Order Status
enum:
- placed
- approved
- delivered
complete:
type: boolean
default: false
xml:
name: Order
Category:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
xml:
name: Category
User:
type: object
properties:
id:
type: integer
format: int64
username:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
password:
type: string
phone:
type: string
userStatus:
type: integer
format: int32
description: User Status
xml:
name: User
Tag:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
xml:
name: Tag
Pet:
type: object
required:
- name
- photoUrls
properties:
id:
type: integer
format: int64
category:
"$ref": "#/components/schemas/Category"
name:
type: string
example: doggie
photoUrls:
type: array
xml:
name: photoUrl
wrapped: true
items:
type: string
tags:
type: array
xml:
name: tag
wrapped: true
items:
"$ref": "#/components/schemas/Tag"
status:
type: string
description: pet status in the store
enum:
- available
- pending
- sold
xml:
name: Pet
ApiResponse:
type: object
properties:
code:
type: integer
format: int32
type:
type: string
message:
type: string
requestBodies:
Pet:
content:
application/json:
schema:
"$ref": "#/components/schemas/Pet"
application/xml:
schema:
"$ref": "#/components/schemas/Pet"
description: Pet object that needs to be added to the store
required: true
UserArray:
content:
application/json:
schema:
type: array
items:
"$ref": "#/components/schemas/User"
description: List of user object
required: true
securitySchemes:
petstore_auth:
type: oauth2
flows:
implicit:
authorizationUrl: http://petstore.swagger.io/oauth/dialog
scopes:
write:pets: modify pets in your account
read:pets: read your pets
api_key:
type: apiKey
name: api_key
in: header

View File

@ -0,0 +1,32 @@
openapi: 3.0.0
info:
description: |
This is a test to show how model reference from another file fails.
This file references api2.yaml. If you load this file first in the browser it fails.
However, if you load api2.yaml first, then load this one it will work.
version: 1.0.0
title: API1 Test
paths:
'/test-api-1':
get:
summary: Api 1
responses:
'200':
description: 'api 2 response'
content:
application/json:
schema:
$ref: '#/components/schemas/TestResponse'
components:
schemas:
Api1Prop:
type: string
example: 'api1prop-value'
TestResponse:
type: object
properties:
api1prop:
$ref: '#/components/schemas/Api1Prop'
api2prop:
$ref: 'api2.yaml#/components/schemas/Api2Prop'

View File

@ -0,0 +1,32 @@
openapi: 3.0.0
info:
description: |
This is a test to show how model reference from another file fails.
This file is referenced api1.yaml. If you load api1.yaml first in the browser it fails.
However, if you load this file first, then load api1.yaml it will work.
version: 1.0.0
title: API2 Test
paths:
'/test-api-2':
get:
summary: Api 2
responses:
'200':
description: api 2 response
content:
application/json:
schema:
$ref: '#/components/schemas/TestResponse2'
components:
schemas:
Api2Prop:
type: string
description: this is an api2prop
example: 'api1prop-value'
TestResponse2:
type: object
description: This is a test prop
properties:
api2prop:
$ref: '#/components/schemas/Api2Prop'