-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi-appengine.yaml
232 lines (228 loc) · 5.65 KB
/
openapi-appengine.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
224
225
226
227
228
229
230
231
232
swagger: '2.0'
info:
description: This is a simple API
version: 1.0.0
title: Spin 4 Athletics API
# put the contact info for your development or API team
contact:
email: [email protected]
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
# tags are used for organizing operations
tags:
- name: admins
description: Secured Admin-only calls
- name: developers
description: Operations available to regular developers
paths:
/admin/sessions:
post:
tags:
- admins
operationId: addSessions
summary: upload sessions
description: upload one or many training sessions
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: sessionList
description: session items to add
schema:
type: object
properties:
payload:
type: array
maxItems: 1000
minItems: 1
items:
$ref: "#/definitions/SessionItem"
responses:
201:
description: session(s) created
400:
description: invalid input, object invalid
403:
description: forbidden
security:
- ApiKeyAuth: []
get:
tags:
- admins
operationId: getSessions
summary: searches sessions
description: |
By passing in the appropriate options, you can search for
available sessions in the system
consumes:
- application/json
produces:
- application/json
parameters:
- in: query
name: searchString
description: pass an optional search string for looking up session
required: false
type: string
- in: query
name: skip
description: number of records to skip for pagination
type: integer
format: int32
minimum: 0
- in: query
name: limit
description: maximum number of records to return
type: integer
format: int32
minimum: 0
maximum: 50
responses:
200:
description: search results matching criteria
schema:
type: array
items:
$ref: '#/definitions/SessionItem'
400:
description: bad input parameter
security:
- ApiKeyAuth: []
/inventory:
get:
security:
- ApiKeyAuth: []
tags:
- admins
summary: searches inventory
operationId: searchInventory
description: |
By passing in the appropriate options, you can search for
available inventory in the system
produces:
- application/json
parameters:
- in: query
name: searchString
description: pass an optional search string for looking up inventory
required: false
type: string
- in: query
name: skip
description: number of records to skip for pagination
type: integer
format: int32
minimum: 0
- in: query
name: limit
description: maximum number of records to return
type: integer
format: int32
minimum: 0
maximum: 50
responses:
200:
description: search results matching criteria
schema:
type: array
items:
$ref: '#/definitions/InventoryItem'
400:
description: bad input parameter
post:
security:
- ApiKeyAuth: []
tags:
- admins
summary: adds an inventory item
operationId: addInventory
description: Adds an item to the system
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: inventoryItem
description: Inventory item to add
schema:
$ref: '#/definitions/InventoryItem'
responses:
201:
description: item created
400:
description: invalid input, object invalid
409:
description: an existing item already exists
definitions:
SessionItem:
type: object
required:
- Name
properties:
Name:
type: string
example : DI LIVIO
InventoryItem:
type: object
required:
- id
- name
- manufacturer
- releaseDate
properties:
id:
type: string
format: uuid
example: d290f1ee-6c54-4b01-90e6-d701748f0851
name:
type: string
example: LagalaColli
releaseDate:
type: string
format: date-time
example: 2016-08-29T09:12:33.001Z
manufacturer:
$ref: '#/definitions/Manufacturer'
Manufacturer:
required:
- name
properties:
name:
type: string
example: SpinItalia srl
homePage:
type: string
format: url
example: https://www.spinitalia.com
phone:
type: string
example: 060606
# Security Definition
securityDefinitions:
ApiKeyAuth:
description: security applied to developers
name: key
in: query
type: apiKey
OAuth2:
type: oauth2
flow: accessCode
authorizationUrl: https://example.com/oauth/authorize
tokenUrl: https://example.com/oauth/token
scopes:
read: Grants read access
write: Grants write access
admin: Grants read and write access to administrative information
# Added by API Auto Mocking Plugin
# host: spin4athletics.appspot.com
schemes:
- https
# Added by API Auto Mocking Plugin
# basePath: /v1
# Added by API Auto Mocking Plugin
host: spin4athletics.appspot.com
basePath: /v1