This repository has been archived by the owner on Dec 1, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathopenapi.yaml
180 lines (180 loc) · 5.97 KB
/
openapi.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
openapi: 3.0.0
info:
version: 1.0.0
title: Swagger bookstore
license:
name: MIT
servers:
- url: 'http://books.swagger.io/api'
paths:
/books:
get:
summary: List all books
operationId: listBooks
tags:
- books
parameters:
- name: limit
in: query
description: How many items to return at one time (max 100)
required: false
schema:
type: integer
format: int32
security:
- bookstore_auth:
- 'read:books'
responses:
'200':
description: An paged array of pets
headers:
x-next:
description: A link to the next page of responses
schema:
type: string
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Book'
default:
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
summary: Create a book
operationId: createBooks
requestBody:
description: Book to add to the store
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Book'
tags:
- books
security:
- bookstore_auth:
- 'read:books'
- 'write:books'
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
$ref: '#/components/schemas/Book'
default:
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'/books/{bookId}':
put:
summary: update a specific book
operationId: updateById
tags:
- books
parameters:
- name: bookId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: string
requestBody:
description: Book to be update to the store
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Book'
security:
- bookstore_auth:
- 'read:books'
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
$ref: '#/components/schemas/Book'
default:
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
summary: Delete a specific book
operationId: deleteBookById
tags:
- books
parameters:
- name: bookId
in: path
required: true
description: The id of the book to delete
schema:
type: string
- name: key
in: header
required: true
description: The key header
schema:
type: string
security:
- bookstore_auth:
- 'write:books'
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
$ref: '#/components/schemas/Book'
default:
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
securitySchemes:
bookstore_auth:
type: oauth2
description: This API uses OAuth 2 with the client credential grant flow.
flows:
clientCredentials:
tokenUrl: 'https://localhost:6882/token'
scopes:
'write:book': modify books in your account
'read:book': read your books
schemas:
Book:
type: object
required:
- title
properties:
id:
type: integer
format: int64
author:
type: string
title:
type: string
Error:
type: object
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string