-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathopenapi-definition.yaml
259 lines (259 loc) · 7.4 KB
/
openapi-definition.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
259
openapi: 3.0.0
servers:
- description: X-tee EE instance data
url: https://x-tee.ee/catalogue-data/EE
- description: X-tee ee-test instance data
url: https://x-tee.ee/catalogue-data/ee-test
- description: X-tee ee-dev instance data
url: https://x-tee.ee/catalogue-data/ee-dev
info:
description: X-tee service catalogue
version: "1.0.0"
title: X-tee service catalogue
contact:
email: vitali.stupin@ria.ee
license:
name: MIT License
url: 'https://opensource.org/licenses/MIT'
tags:
- name: opendata
description: Operations available to everyone as opendata
paths:
/index.json:
get:
tags:
- opendata
summary: latest catalogue version
operationId: index
description: returns list of all subsystems and services
responses:
'200':
description: list of all subsystems and services
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Subsystem'
/index_{time}.json:
get:
tags:
- opendata
summary: previous version of catalogue
operationId: indexVersion
description: returns list of all subsystems and services at the specified point of time
parameters:
- name: time
in: path
description: time of catalogue generation
required: true
schema:
type: string
example: 20200323114802
responses:
'200':
description: list of all subsystems and services
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Subsystem'
/history.json:
get:
tags:
- opendata
summary: list of all catalogue versions
operationId: history
description: returns list of all catalogue versions
responses:
'200':
description: list of all catalogue versions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CatalogueVersion'
/filtered_history.json:
get:
tags:
- opendata
summary: filtered list of catalogue versions
operationId: filteredHistory
description: returns filtered list of all catalogue versions (older versions get partially filtered out to have managable list of versions)
responses:
'200':
description: filtered list of catalogue versions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CatalogueVersion'
components:
schemas:
Subsystem:
type: object
description: Subsystem information
required:
- xRoadInstance
- memberClass
- memberCode
- subsystemCode
- subsystemStatus
- servicesStatus
- methods
- services
properties:
xRoadInstance:
type: string
example: EE
description: X-tee instance code
memberClass:
type: string
example: GOV
description: X-tee member class code
memberCode:
type: string
example: 70006317
description: X-tee member code
subsystemCode:
type: string
example: aar
description: X-tee subsystem code
subsystemStatus:
type: string
enum:
- OK
- ERROR
example: OK
description: Subsystem responded successfully to SOAP listMethods query
servicesStatus:
type: string
enum:
- OK
- ERROR
example: OK
description: Subsystem responded successfully to REST listMethods query
methods:
type: array
items:
$ref: '#/components/schemas/Method'
services:
type: array
items:
$ref: '#/components/schemas/Service'
Method:
type: object
description: SOAP method information
required:
- serviceCode
- serviceVersion
- methodStatus
- wsdl
properties:
serviceCode:
type: string
example: oigused
description: X-tee SOAP service code
serviceVersion:
type: string
example: v1
description: X-tee SOAP service version
methodStatus:
type: string
enum:
- OK
- ERROR
- TIMEOUT
- SKIPPED
example: OK
description: |
Statuses of X-tee SOAP service description;
OK - WSDL query and parsing were successful;
ERROR - WSDL query of parsing failed;
TIMEOUT - WSDL query timed out;
SKIPPED - Query to the server where previous WSDL request timed out was not performed.
wsdl:
type: string
format: url
example: 'EE/GOV/70006317/aar/2.wsdl'
description: relative URL to X-tee SOAP service WSDL description file
Service:
type: object
description: REST service information
required:
- serviceCode
- serviceStatus
- openapi
- endpoints
properties:
serviceCode:
type: string
example: stats
description: X-tee REST service code
serviceStatus:
type: string
enum:
- OK
- ERROR
- TIMEOUT
- SKIPPED
example: OK
description: |
Statuses of X-tee REST service description;
OK - OpenAPI query and parsing were successful;
ERROR - OpenAPI query of parsing failed;
TIMEOUT - OpenAPI query timed out;
SKIPPED - Query to the server where previous OpenAPI request timed out was not performed.
openapi:
type: string
format: url
example: 'EE/GOV/70006317/aar/stats_0.yaml'
description: relative URL to X-tee REST service OpenAPI description file
endpoints:
type: array
items:
$ref: '#/components/schemas/Endpoint'
Endpoint:
type: object
description: REST service endpoint information
required:
- verb
- path
- summary
- description
properties:
verb:
type: string
example: get
description: HTTP verb
path:
type: string
example: /instances
description: endpoint path
summary:
type: string
example: Summary for the endpoint...
description: summary for the endpoint
description:
type: string
example: Description of the endpoint...
description: description for the endpoint
CatalogueVersion:
type: object
description: Catalogue version object
required:
- reportTime
- reportPath
properties:
reportTime:
type: string
example: '2020-03-23 11:25:26'
description: time of catalogue version generation
reportPath:
type: string
format: url
example: 'index_20200323112526.json'
description: relative path to X-tee catalogue version