-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenapi.yaml
258 lines (258 loc) · 7.25 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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
openapi: 3.1.0
info:
contact:
email: [email protected]
name: Zelly Snyder
description: Get a random Wikipedia article under a category
license:
name: Apache-2.0
url: https://www.apache.org/licenses/LICENSE-2.0.txt
title: WikiDice
version: 1.0.0
servers:
- description: Production server
url: https://wikidice.zelcon.net/api/
paths:
/random/{category}:
get:
description: Get a random article from Wikipedia under a category
operationId: get_random_article
parameters:
- description: "Category to search under (recursively, including subcategories)"
explode: false
in: path
name: category
required: true
schema:
type: string
style: simple
- description: |
Maximum depth (recursive subcategories) to search for articles
explode: true
in: query
name: depth
required: false
schema:
default: 5
maximum: 100
minimum: 0
type: integer
style: form
- allowEmptyValue: false
description: |
Wikipedia language name such as en, de, etc. For examples, see:
https://en.wikipedia.org/wiki/List_of_Wikipedias
explode: true
in: query
name: language
required: false
schema:
default: en
type: string
style: form
responses:
"302":
description: Found
headers:
Location:
description: Redirect location
explode: false
schema:
type: string
style: simple
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Bad Request
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Not Found
"500":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Pick a random article under a category
/random_with_derivation/{category}:
get:
description: |
Get a random article from Wikipedia under a category, but also return
the category path that was traversed to get to the article.
operationId: get_random_article_with_derivation
parameters:
- description: "Category to search under (recursively, including subcategories)"
explode: false
in: path
name: category
required: true
schema:
type: string
style: simple
- description: |
Maximum depth (recursive subcategories) to search for articles
explode: true
in: query
name: depth
required: false
schema:
default: 5
maximum: 100
minimum: 0
type: integer
style: form
- allowEmptyValue: false
description: |
Wikipedia language name such as en, de, etc. For examples, see:
https://en.wikipedia.org/wiki/List_of_Wikipedias
explode: true
in: query
name: language
required: false
schema:
default: en
example: en
type: string
style: form
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RandomArticleWithDerivation'
description: OK
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Not Found
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Bad Request
"500":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: "Get a random article, but with details"
/autocomplete:
get:
description: Prefix search for categories
operationId: category_autocomplete
parameters:
- description: Prefix to search for
explode: true
in: query
name: prefix
required: true
schema:
type: string
style: form
- allowEmptyValue: false
description: |
Wikipedia language name such as en, de, etc. For examples, see:
https://en.wikipedia.org/wiki/List_of_Wikipedias
explode: true
in: query
name: language
required: false
schema:
default: en
example: en
type: string
style: form
- description: |
Maximum number of results to return
explode: true
in: query
name: limit
required: false
schema:
default: 10
maximum: 100
minimum: 1
type: integer
style: form
responses:
"200":
content:
application/json:
schema:
example:
- Computer science
- Computer science-related professional associations
- Computer science articles by importance
- Computer science articles by quality
- Computer science articles needing attention
- Computer science articles needing expert attention
- Computer science articles without infoboxes
- Computer science award winners
- Computer science awards
- Computer science awards navigational boxes
items:
type: string
type: array
description: OK
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Bad Request
"500":
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Autocompletion search for category names
components:
schemas:
Error:
properties:
error:
description: Error message
example: Category not found
title: error
type: string
internal_code:
description: Internal error code
example: "404"
title: internal_code
type: string
nullable: true
title: Error
RandomArticleWithDerivation:
example:
derivation:
- Physics
- Subfields of physics
- Computational physics
- Lattice models
article: 24535618
properties:
article:
description: Page ID
title: article
type: integer
derivation:
description: |
Derivation path to article (which categories were traversed to find
it)
example:
- Physics
- Concepts in physics
items:
type: string
type: array
title: RandomArticleWithDerivation