-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi.yaml
223 lines (223 loc) · 5.92 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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
openapi: 3.0.3
info:
title: API Receiver
description: |-
This is a description for the application API which would mainly be a docker app. What is does, is simply a CRUD (without U) with JSON data on requests objects. So the backend is going to persist the whole request, even path and parameters.
contact:
email: dev@ssegning.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: 1.0.11
externalDocs:
description: Find out more about Swagger
url: https://blog.ssegning.com
servers:
- url: http://localhost:3000
tags:
- name: api
description: Create, Delete and Read api requests.
externalDocs:
description: Find out more
url: https://blog.ssegning.com/tag/api
- name: config
description: Where we're going to add more config about the API (in the future)
- name: user
description: If we want to supports auth in a future, this might be helpful.
paths:
/api:
post:
tags:
- api
summary: Add a new api to the store
description: Add a new api to the store
operationId: addApiRequest
requestBody:
description: Create a new api in the store
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRequest'
application/xml:
schema:
$ref: '#/components/schemas/ApiRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ApiRequest'
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRequest'
application/xml:
schema:
$ref: '#/components/schemas/ApiRequest'
'405':
description: Invalid input
security:
- api_auth:
- write:api
- read:api
get:
tags:
- api
summary: Finds ApiRequest
description: Multiple status values can be provided with comma separated strings
operationId: getApiRequests
parameters:
- name: query
in: query
description: A simple query if we need to search
required: false
explode: true
schema:
type: string
- name: created_at
in: query
description: A simple query if we need to search
required: false
explode: true
schema:
type: string
- name: page
in: query
description: The page where to start the pagination
required: false
schema:
type: number
default: 0
- name: size
in: query
description: The place where to put the size on
required: false
schema:
type: number
default: 4
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRequestPage'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/ApiRequest'
'400':
description: Invalid status value
security:
- api_auth:
- write:api
- read:api
/api/{apiRequestId}:
get:
tags:
- api
summary: Find api by ID
description: Returns a single api
operationId: getAnApiRequest
parameters:
- name: apiRequestId
in: path
description: ID of api to return
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRequest'
application/xml:
schema:
$ref: '#/components/schemas/ApiRequest'
'400':
description: Invalid ID supplied
'404':
description: Api Request not found
security:
- api_auth:
- write:api
- read:api
delete:
tags:
- api
summary: Deletes a api
description: delete a api
operationId: deleteApiRequest
parameters:
- name: apiRequestId
in: path
description: Api Request id to delete
required: true
schema:
type: string
responses:
'200':
description: Ok
'404':
description: Request not found
security:
- api_auth:
- write:api
- read:api
components:
schemas:
ApiRequestValue:
oneOf:
- type: string
- type: number
- $ref: '#/components/schemas/ApiRequest'
ApiRequest:
type: object
additionalProperties:
$ref: '#/components/schemas/ApiRequestValue'
xml:
name: api_request
ApiRequestPage:
type: object
required:
- content
- meta
properties:
content:
type: array
items:
$ref: '#/components/schemas/ApiRequest'
meta:
$ref: '#/components/schemas/PageMeta'
PageMeta:
type: object
required:
- page
- size
- total
properties:
page:
type: number
size:
type: number
total:
type: number
requestBodies:
ApiRequest:
description: ApiRequest object that needs to be added to the store
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRequest'
application/xml:
schema:
$ref: '#/components/schemas/ApiRequest'
securitySchemes:
api_auth:
type: apiKey
name: api_key
in: header