-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenapi.yaml
179 lines (178 loc) · 5.86 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
# Required metadata
openapi: 3.0.0
info:
title: Rockstar API
version: 0.0.1
# API routes
## I have not documented api endpoints for loading dependencies
paths:
'/compile/':
post:
summary: Create a rock
description: Creates a rock in the DB and compiles and loads it
responses:
'200':
description: 'OK'
content:
'application/json':
schema:
$ref: '#/components/schemas/standard'
'500':
description: 'Error during compilation'
content:
'application/json':
schema:
$ref: '#/components/schemas/errorWithoutID'
requestBody:
content:
'application/json':
schema:
type: object
properties:
code:
type: string
required: true
put:
summary: Update a rock
description: Updates a rock with the supplied ID and updates the DB and recompiles and loads it
responses:
'200':
description: 'OK'
content:
'application/json':
schema:
$ref: '#/components/schemas/standard'
'500':
description: 'Error during compilation'
content:
'application/json':
schema:
$ref: '#/components/schemas/errorWithoutID'
requestBody:
content:
'application/json':
schema:
type: object
properties:
code:
type: string
id:
type: integer
required: true
'/rock/{id}':
get:
summary: Get rock data
description: Get data for the rock with the supplied ID
responses:
'200':
description: 'OK'
content:
'application/json':
schema:
$ref: '#/components/schemas/standard'
parameters:
- name: id
in: path
required: true
schema:
type: integer
'/historical/{date}/{id}':
get:
summary: Get historical rock
description: Gets a rock from an older session, with date and ID parameters
responses:
'404':
description: 'Not Found'
content:
'application/json':
schema:
$ref: '#/components/schemas/error'
'200':
description: 'OK'
content:
'application/json':
schema:
$ref: '#/components/schemas/standard'
parameters:
- name: date
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: integer
'/gist/id/{id}':
get:
summary: Load a rock from a gist
description: Load rocks from GitHub's gists
responses:
'200':
description: 'OK'
content:
'application/json':
schema:
type: object
properties:
status:
type: string
rocks:
type: array
items:
$ref: '#/components/schemas/standardWithoutStatus'
'404':
description: 'Gist Not Found'
content:
'application/json':
schema:
$ref: '#/components/schemas/error'
parameters:
- name: id
in: path
required: true
schema:
type: string
components:
schemas:
standard:
type: object
properties:
id:
type: integer
status:
type: string
code:
type: string
log:
type: object
output:
type: object
standardWithoutStatus:
type: object
properties:
id:
type: integer
code:
type: string
log:
type: object
output:
type: object
error:
type: object
properties:
id:
type: integer
status:
type: string
message:
type: string
errorWithoutID:
type: object
properties:
status:
type: string
message:
type: string