Skip to content

Commit 1917f9c

Browse files
committed
feat: add Redoc API documentation
1 parent 9524c34 commit 1917f9c

File tree

2 files changed

+213
-0
lines changed

2 files changed

+213
-0
lines changed

docs/v2/index.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Boatrace Open API for Programs</title>
6+
<script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>
7+
</head>
8+
<body>
9+
<redoc spec-url="openapi.json"></redoc>
10+
</body>
11+
</html>

docs/v2/openapi.json

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
{
2+
"openapi": "3.0.3",
3+
"info": {
4+
"title": "Boatrace Open API",
5+
"description": "Boatrace Open API for Programs",
6+
"version": "2.0.0"
7+
},
8+
"servers": [
9+
{
10+
"url": "https://boatraceopenapi.github.io",
11+
"description": "Production server"
12+
}
13+
],
14+
"paths": {
15+
"/programs/v2/today.json": {
16+
"get": {
17+
"summary": "GET /programs/v2/today.json",
18+
"description": "GET operation for /programs/v2/today.json",
19+
"parameters": [],
20+
"responses": {
21+
"200": {
22+
"description": "Successful response",
23+
"content": {
24+
"application/json": {
25+
"schema": {
26+
"$ref": "#/components/schemas/BoatraceOpenAPI"
27+
}
28+
}
29+
}
30+
},
31+
"400": {
32+
"description": "Bad request"
33+
},
34+
"404": {
35+
"description": "Not found"
36+
},
37+
"500": {
38+
"description": "Internal server error"
39+
}
40+
}
41+
}
42+
}
43+
},
44+
"components": {
45+
"schemas": {
46+
"BoatraceOpenAPI": {
47+
"type": "object",
48+
"properties": {
49+
"programs": {
50+
"type": "array",
51+
"items": {
52+
"type": "object",
53+
"properties": {
54+
"race_date": {
55+
"type": "string",
56+
"format": "date-time"
57+
},
58+
"race_stadium_number": {
59+
"type": "integer"
60+
},
61+
"race_number": {
62+
"type": "integer"
63+
},
64+
"race_closed_at": {
65+
"type": "string"
66+
},
67+
"race_grade_number": {
68+
"type": "integer"
69+
},
70+
"race_title": {
71+
"type": "string"
72+
},
73+
"race_subtitle": {
74+
"type": "string"
75+
},
76+
"race_distance": {
77+
"type": "integer"
78+
},
79+
"boats": {
80+
"type": "array",
81+
"items": {
82+
"type": "object",
83+
"properties": {
84+
"racer_boat_number": {
85+
"type": "integer"
86+
},
87+
"racer_name": {
88+
"type": "string"
89+
},
90+
"racer_number": {
91+
"type": "integer"
92+
},
93+
"racer_class_number": {
94+
"type": "integer"
95+
},
96+
"racer_branch_number": {
97+
"type": "integer"
98+
},
99+
"racer_birthplace_number": {
100+
"type": "integer"
101+
},
102+
"racer_age": {
103+
"type": "integer"
104+
},
105+
"racer_weight": {
106+
"type": "integer"
107+
},
108+
"racer_flying_count": {
109+
"type": "integer"
110+
},
111+
"racer_late_count": {
112+
"type": "integer"
113+
},
114+
"racer_average_start_timing": {
115+
"type": "number"
116+
},
117+
"racer_national_top_1_percent": {
118+
"type": "number"
119+
},
120+
"racer_national_top_2_percent": {
121+
"type": "number"
122+
},
123+
"racer_national_top_3_percent": {
124+
"type": "number"
125+
},
126+
"racer_local_top_1_percent": {
127+
"type": "number"
128+
},
129+
"racer_local_top_2_percent": {
130+
"type": "number"
131+
},
132+
"racer_local_top_3_percent": {
133+
"type": "number"
134+
},
135+
"racer_assigned_motor_number": {
136+
"type": "integer"
137+
},
138+
"racer_assigned_motor_top_2_percent": {
139+
"type": "integer"
140+
},
141+
"racer_assigned_motor_top_3_percent": {
142+
"type": "number"
143+
},
144+
"racer_assigned_boat_number": {
145+
"type": "integer"
146+
},
147+
"racer_assigned_boat_top_2_percent": {
148+
"type": "number"
149+
},
150+
"racer_assigned_boat_top_3_percent": {
151+
"type": "number"
152+
}
153+
},
154+
"required": [
155+
"racer_boat_number",
156+
"racer_name",
157+
"racer_number",
158+
"racer_class_number",
159+
"racer_branch_number",
160+
"racer_birthplace_number",
161+
"racer_age",
162+
"racer_weight",
163+
"racer_flying_count",
164+
"racer_late_count",
165+
"racer_average_start_timing",
166+
"racer_national_top_1_percent",
167+
"racer_national_top_2_percent",
168+
"racer_national_top_3_percent",
169+
"racer_local_top_1_percent",
170+
"racer_local_top_2_percent",
171+
"racer_local_top_3_percent",
172+
"racer_assigned_motor_number",
173+
"racer_assigned_motor_top_2_percent",
174+
"racer_assigned_motor_top_3_percent",
175+
"racer_assigned_boat_number",
176+
"racer_assigned_boat_top_2_percent",
177+
"racer_assigned_boat_top_3_percent"
178+
]
179+
}
180+
}
181+
},
182+
"required": [
183+
"race_date",
184+
"race_stadium_number",
185+
"race_number",
186+
"race_closed_at",
187+
"race_grade_number",
188+
"race_title",
189+
"race_subtitle",
190+
"race_distance",
191+
"boats"
192+
]
193+
}
194+
}
195+
},
196+
"required": [
197+
"programs"
198+
]
199+
}
200+
}
201+
}
202+
}

0 commit comments

Comments
 (0)