-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathopen-api-3-spec.yml
183 lines (179 loc) · 4.2 KB
/
open-api-3-spec.yml
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
openapi: 3.0.0
info:
version: 1.0.0
title: COVID-19 stats server
servers:
- url: 'http://localhost:3000/api/v1'
- url: 'https://covid19-stats-api.herokuapp.com/api/v1'
paths:
/cases:
get:
summary: 'Returns total count for all types of cases'
operationId: getCases
tags:
- cases
parameters:
- name: country
in: query
description: Country name
required: false
schema:
type: string
responses:
'200':
description: 'Number of total cases grouped by case types'
content:
application/json:
schema:
$ref: '#/components/schemas/Cases'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/cases/country/:type:
get:
summary: 'Returns total count for given case type with country'
operationId: getCasesByCountry
tags:
- country
parameters:
- name: type
in: path
description: Case type
required: true
schema:
type: string
responses:
'200':
description: 'List of countries with given case types'
content:
application/json:
schema:
$ref: '#/components/schemas/Country'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/cases/state/:type:
get:
summary: 'Returns total count for given case type with state'
operationId: getCasesByState
tags:
- state
parameters:
- name: type
in: path
description: Case type
required: true
schema:
type: string
- name: country
in: query
description: Country name
required: false
schema:
type: string
responses:
'200':
description: 'List of state with given case types'
content:
application/json:
schema:
$ref: '#/components/schemas/State'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/refresh:
get:
summary: 'refresh data to latest and return latest date'
operationId: getLatestDara
tags:
- refresh
responses:
'200':
description: 'return refresh date'
content:
application/json:
schema:
$ref: '#/components/schemas/Refresh'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
Cases:
type: object
required:
- confirmed
- deaths
- recovered
properties:
confirmed:
type: integer
format: int64
deaths:
type: integer
format: int64
recovered:
type: integer
format: int64
Country:
type: array
items:
type: object
required:
- country
- count
properties:
count:
type: integer
format: int64
country:
type: string
State:
type: array
items:
type: object
required:
- country
- state
- count
properties:
country:
type: string
state:
type: string
count:
type: integer
format: int64
Refresh:
type: object
required:
- message
- lastUpdate
properties:
message:
type: string
lastUpdate:
type: string
Error:
type: object
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string