-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.yaml
197 lines (197 loc) · 6.61 KB
/
index.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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
openapi: "3.0.0"
info:
version: "1.0.0"
title: "Books Store API"
description: Books Store API
contact:
name: KaveeshaG
email: uakaveeshagimhana@gmail.com
url: https://kaveeshagimhana.com
license:
name: MIT
url: https://opensource.org/licenses/MIT
servers:
- url: "https://uor-outreach-api-ody6p6lxga-uc.a.run.app/api/v1"
description: Books backend for Developing APIs DevFest23'
tags:
- name: books
description: Books in Store
paths:
/books:
post:
summary: Create a new book
operationId: createBook
tags:
- books
requestBody:
description: New book fields (freeform)
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Book"
responses:
"200":
description: Book created successfully
content:
application/json:
schema:
$ref: "#/components/schemas/Book"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
get:
summary: Get all books
operationId: getAllBooks
tags:
- books
responses:
"200":
description: Complete list of books
content:
application/json:
schema:
$ref: "#/components/schemas/Books"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/books/{id}:
parameters:
- name: id
description: The unique identifier of the book
in: path
required: true
schema:
$ref: "#/components/schemas/id"
get:
summary: Read a book
description: Get book by id.
operationId: getBookById
tags:
- books
responses:
"200":
description: The book corresponding to the provided `id`
content:
application/json:
schema:
$ref: "#/components/schemas/id"
404:
description: No book found for the provided `id`
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
put:
summary: Update a specific book
description: Update book by id.
operationId: updateBookById
tags:
- books
requestBody:
description: Product fields to update
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Book"
responses:
"200":
description: Returns the request product update fields
content:
application/json:
schema:
$ref: "#/components/schemas/Book"
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"404":
description: Product not found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
delete:
summary: Delete a book
description: Delete book by id.
operationId: deleteBookById
tags:
- books
responses:
"200":
description: The book deleted corresponding to the provided `id`
content:
application/json:
schema:
$ref: "#/components/schemas/id"
404:
description: No book found for the provided `id`
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
id:
description: The unique identifier of a id
type: string
Books:
type: array
description: array of books
items:
$ref: "#/components/schemas/Book"
Book:
type: object
required:
- id
- title
- author
properties:
id:
$ref: "#/components/schemas/id"
title:
type: string
author:
type: string
Error:
type: object
required:
- message
properties:
message:
description: A human readable error message
type: string
securitySchemes:
ApiKey:
type: apiKey
in: header
name: X-Api-Key
security:
- basicAuth: []