blob: 3b705cff4a2c216fb1f693cdd3e7749ebcc18aa3 [file] [log] [blame]
elinuxhenrik7a09fbb2020-12-04 16:51:19 +01001openapi: 3.0.1
2info:
PatrikBuhrc5ea7452021-01-29 15:36:29 +01003 title: Enrichment Information Service
4 description: <h1>API documentation</h1><h2>General</h2><p> The service is mainly
5 a broker between data producers and data consumers. A data producer has the ability
6 to producer one or several type of data (EI type). One type of data can be produced
7 by zero to many producers. <br /><br />A data consumer can have several active
8 data subscriptions (EI job). One EI job consists of the the type of data to produce
9 and additional parameters for filtering of the data. These parameters are different
10 for different data types.</p><h2>APIs provided by the service</h2><h4>A1-EI</h4><p> This
11 API is between Near-RT RIC, which is a data consumer and the Non-RT RIC. </p><h4>Data
12 producer API</h4><p> This API is between data producers and this service. It
13 is divivided into two parts, where one is provided by this service (registration)
14 and one part is provided by the data producer.</p><h4>EI Service status</h4><p> This
15 API provides a means to monitor the service.</p>
16 license:
17 name: Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License.
18 url: http://www.apache.org/licenses/LICENSE-2.0
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010019 version: "1.0"
20servers:
PatrikBuhr1da5c882020-12-07 15:15:08 +010021- url: /
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010022tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +010023- name: A1-EI (registration)
24 description: Data consumer EI job registration
25- name: A1-EI (callbacks)
26 description: Data consumer EI job status callbacks
27- name: Data producer (callbacks)
28 description: API implemented by data producers
29- name: Data producer (registration)
30 description: API for data producers
31- name: EI Service status
32 description: API for monitoring of the service
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010033paths:
34 /producer_simulator/ei_job:
35 post:
36 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +010037 - Data producer (callbacks)
38 summary: Callback for EI job creation/modification
39 description: The call is invoked to activate or to modify a data subscription.
40 The endpoint is provided by the EI producer.
41 operationId: jobCreatedCallback
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010042 requestBody:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010043 content:
44 application/json:
45 schema:
46 $ref: '#/components/schemas/producer_ei_job_request'
47 required: true
48 responses:
49 200:
50 description: OK
PatrikBuhrc5ea7452021-01-29 15:36:29 +010051 content:
52 application/json:
53 schema:
54 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010055 /A1-EI/v1/eitypes/{eiTypeId}:
56 get:
57 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +010058 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010059 summary: Individual EI type
PatrikBuhrc5ea7452021-01-29 15:36:29 +010060 operationId: getEiType_1
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010061 parameters:
62 - name: eiTypeId
63 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010064 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +010065 style: simple
66 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010067 schema:
68 type: string
69 responses:
70 200:
71 description: EI type
72 content:
73 application/json:
74 schema:
75 $ref: '#/components/schemas/EiTypeObject'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010076 404:
77 description: Enrichment Information type is not found
78 content:
79 application/json:
80 schema:
81 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010082 /ei-producer/v1/eitypes:
83 get:
84 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +010085 - Data producer (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010086 summary: EI type identifiers
PatrikBuhrc5ea7452021-01-29 15:36:29 +010087 operationId: getEiTypeIdentifiers
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010088 responses:
89 200:
90 description: EI type identifiers
91 content:
92 application/json:
93 schema:
94 type: array
95 items:
96 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010097 /A1-EI/v1/eitypes:
98 get:
99 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100100 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100101 summary: EI type identifiers
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100102 operationId: getEiTypeIdentifiers_1
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100103 responses:
104 200:
105 description: EI type identifiers
106 content:
107 application/json:
108 schema:
109 type: array
110 items:
111 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100112 /ei-producer/v1/eiproducers/{eiProducerId}/status:
113 get:
114 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100115 - Data producer (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100116 summary: EI producer status
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100117 operationId: getEiProducerStatus
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100118 parameters:
119 - name: eiProducerId
120 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100121 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100122 style: simple
123 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100124 schema:
125 type: string
126 responses:
127 200:
PatrikBuhr62963052021-01-19 11:59:06 +0100128 description: EI producer status
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100129 content:
130 application/json:
131 schema:
132 $ref: '#/components/schemas/producer_status'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100133 404:
134 description: Enrichment Information producer is not found
135 content:
136 application/json:
137 schema:
138 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100139 /producer_simulator/ei_job/{eiJobId}:
140 delete:
141 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100142 - Data producer (callbacks)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100143 summary: Callback for EI job deletion
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100144 description: The call is invoked to terminate a data subscription. The endpoint
145 is provided by the EI producer.
146 operationId: jobDeletedCallback
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100147 parameters:
148 - name: eiJobId
149 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100150 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100151 style: simple
152 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100153 schema:
154 type: string
155 responses:
156 200:
157 description: OK
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100158 content:
159 application/json:
160 schema:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100161 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100162 /ei-producer/v1/eitypes/{eiTypeId}:
163 get:
164 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100165 - Data producer (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100166 summary: Individual EI type
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100167 operationId: getEiType
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100168 parameters:
169 - name: eiTypeId
170 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100171 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100172 style: simple
173 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100174 schema:
175 type: string
176 responses:
177 200:
178 description: EI type
179 content:
180 application/json:
181 schema:
182 $ref: '#/components/schemas/producer_ei_type_info'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100183 404:
184 description: Enrichment Information type is not found
185 content:
186 application/json:
187 schema:
188 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhre912ee42021-01-11 15:03:54 +0100189 put:
190 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100191 - Data producer (registration)
PatrikBuhre912ee42021-01-11 15:03:54 +0100192 summary: Individual EI type
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100193 operationId: putEiType
PatrikBuhre912ee42021-01-11 15:03:54 +0100194 parameters:
195 - name: eiTypeId
196 in: path
PatrikBuhre912ee42021-01-11 15:03:54 +0100197 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100198 style: simple
199 explode: false
PatrikBuhre912ee42021-01-11 15:03:54 +0100200 schema:
201 type: string
202 requestBody:
PatrikBuhre912ee42021-01-11 15:03:54 +0100203 content:
204 application/json:
205 schema:
206 $ref: '#/components/schemas/producer_ei_type_info'
207 required: true
208 responses:
209 200:
PatrikBuhr62963052021-01-19 11:59:06 +0100210 description: Type updated
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100211 content:
212 application/json:
213 schema:
214 $ref: '#/components/schemas/Void'
PatrikBuhre912ee42021-01-11 15:03:54 +0100215 201:
PatrikBuhr62963052021-01-19 11:59:06 +0100216 description: Type created
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100217 content:
218 application/json:
219 schema:
220 $ref: '#/components/schemas/Void'
PatrikBuhrfed5fc92021-01-18 12:34:38 +0100221 400:
222 description: Bad request
223 content:
224 application/json:
225 schema:
226 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhre912ee42021-01-11 15:03:54 +0100227 delete:
228 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100229 - Data producer (registration)
PatrikBuhre912ee42021-01-11 15:03:54 +0100230 summary: Individual EI type
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100231 operationId: deleteEiType
PatrikBuhre912ee42021-01-11 15:03:54 +0100232 parameters:
233 - name: eiTypeId
234 in: path
PatrikBuhre912ee42021-01-11 15:03:54 +0100235 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100236 style: simple
237 explode: false
PatrikBuhre912ee42021-01-11 15:03:54 +0100238 schema:
239 type: string
240 responses:
241 200:
242 description: Not used
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100243 content:
244 application/json:
245 schema:
246 $ref: '#/components/schemas/Void'
PatrikBuhre912ee42021-01-11 15:03:54 +0100247 204:
248 description: Producer deleted
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100249 content:
250 application/json:
251 schema:
252 $ref: '#/components/schemas/Void'
PatrikBuhre912ee42021-01-11 15:03:54 +0100253 404:
254 description: Enrichment Information type is not found
255 content:
256 application/json:
257 schema:
258 $ref: '#/components/schemas/ProblemDetails'
259 406:
260 description: The Enrichment Information type has one or several active producers
261 content:
262 application/json:
263 schema:
264 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100265 /status:
266 get:
267 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100268 - EI Service status
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100269 summary: Returns status and statistics of this service
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100270 operationId: getStatus
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100271 responses:
272 200:
273 description: Service is living
274 content:
275 application/json:
276 schema:
277 $ref: '#/components/schemas/status_info'
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100278 /ei-producer/v1/eiproducers:
279 get:
280 tags:
281 - Data producer (registration)
282 summary: EI producer identifiers
283 operationId: getEiProducerIdentifiers
284 parameters:
285 - name: ei_type_id
286 in: query
287 description: If given, only the producers for the EI Data type is returned.
288 required: false
289 style: form
290 explode: true
291 schema:
292 type: string
293 responses:
294 200:
295 description: EI producer identifiers
296 content:
297 application/json:
298 schema:
299 type: array
300 items:
301 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100302 /A1-EI/v1/eijobs/{eiJobId}:
303 get:
304 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100305 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100306 summary: Individual EI job
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100307 operationId: getIndividualEiJob
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100308 parameters:
309 - name: eiJobId
310 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100311 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100312 style: simple
313 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100314 schema:
315 type: string
316 responses:
317 200:
318 description: EI job
319 content:
320 application/json:
321 schema:
322 $ref: '#/components/schemas/EiJobObject'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100323 404:
324 description: Enrichment Information job is not found
325 content:
326 application/json:
327 schema:
328 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100329 put:
330 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100331 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100332 summary: Individual EI job
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100333 operationId: putIndividualEiJob
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100334 parameters:
335 - name: eiJobId
336 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100337 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100338 style: simple
339 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100340 schema:
341 type: string
342 requestBody:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100343 content:
344 application/json:
345 schema:
346 $ref: '#/components/schemas/EiJobObject'
347 required: true
348 responses:
349 200:
350 description: Job updated
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100351 content:
352 application/json:
353 schema:
354 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100355 201:
356 description: Job created
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100357 content:
358 application/json:
359 schema:
360 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100361 404:
362 description: Enrichment Information type is not found
363 content:
364 application/json:
365 schema:
366 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100367 delete:
368 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100369 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100370 summary: Individual EI job
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100371 operationId: deleteIndividualEiJob
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100372 parameters:
373 - name: eiJobId
374 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100375 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100376 style: simple
377 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100378 schema:
379 type: string
380 responses:
381 200:
382 description: Not used
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100383 content:
384 application/json:
385 schema:
386 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100387 204:
388 description: Job deleted
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100389 content:
390 application/json:
391 schema:
392 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100393 404:
394 description: Enrichment Information job is not found
395 content:
396 application/json:
397 schema:
398 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100399 /ei-producer/v1/eiproducers/{eiProducerId}:
400 get:
401 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100402 - Data producer (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100403 summary: Individual EI producer
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100404 operationId: getEiProducer
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100405 parameters:
406 - name: eiProducerId
407 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100408 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100409 style: simple
410 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100411 schema:
412 type: string
413 responses:
414 200:
PatrikBuhr62963052021-01-19 11:59:06 +0100415 description: EI producer
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100416 content:
417 application/json:
418 schema:
419 $ref: '#/components/schemas/producer_registration_info'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100420 404:
421 description: Enrichment Information producer is not found
422 content:
423 application/json:
424 schema:
425 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100426 put:
427 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100428 - Data producer (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100429 summary: Individual EI producer
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100430 operationId: putEiProducer
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100431 parameters:
432 - name: eiProducerId
433 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100434 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100435 style: simple
436 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100437 schema:
438 type: string
439 requestBody:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100440 content:
441 application/json:
442 schema:
443 $ref: '#/components/schemas/producer_registration_info'
444 required: true
445 responses:
446 200:
447 description: Producer updated
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100448 content:
449 application/json:
450 schema:
451 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100452 201:
453 description: Producer created
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100454 content:
455 application/json:
456 schema:
457 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100458 delete:
459 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100460 - Data producer (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100461 summary: Individual EI producer
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100462 operationId: deleteEiProducer
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100463 parameters:
464 - name: eiProducerId
465 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100466 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100467 style: simple
468 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100469 schema:
470 type: string
471 responses:
472 200:
473 description: Not used
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100474 content:
475 application/json:
476 schema:
477 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100478 204:
479 description: Producer deleted
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100480 content:
481 application/json:
482 schema:
483 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100484 404:
485 description: Producer is not found
486 content:
487 application/json:
488 schema:
489 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100490 /producer_simulator/health_check:
491 get:
492 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100493 - Data producer (callbacks)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100494 summary: Producer supervision
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100495 description: The endpoint is provided by the EI producer and is used for supervision
496 of the producer.
497 operationId: producerSupervision
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100498 responses:
499 200:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100500 description: The producer is OK
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100501 content:
502 application/json:
503 schema:
504 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100505 /ei-producer/v1/eiproducers/{eiProducerId}/eijobs:
506 get:
507 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100508 - Data producer (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100509 summary: EI job definitions
510 description: EI job definitions for one EI producer
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100511 operationId: getEiProducerJobs
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100512 parameters:
513 - name: eiProducerId
514 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100515 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100516 style: simple
517 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100518 schema:
519 type: string
520 responses:
521 200:
PatrikBuhr62963052021-01-19 11:59:06 +0100522 description: EI producer
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100523 content:
524 application/json:
525 schema:
526 type: array
527 items:
528 $ref: '#/components/schemas/producer_ei_job_request'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100529 404:
530 description: Enrichment Information producer is not found
531 content:
532 application/json:
533 schema:
534 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100535 /A1-EI/v1/eijobs:
536 get:
537 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100538 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100539 summary: EI job identifiers
540 description: query for EI job identifiers
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100541 operationId: getEiJobIds
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100542 parameters:
543 - name: eiTypeId
544 in: query
545 description: selects EI jobs of matching EI type
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100546 required: false
547 style: form
548 explode: true
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100549 schema:
550 type: string
551 - name: owner
552 in: query
553 description: selects EI jobs for one EI job owner
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100554 required: false
555 style: form
556 explode: true
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100557 schema:
558 type: string
559 responses:
560 200:
561 description: EI job identifiers
562 content:
563 application/json:
564 schema:
565 type: array
566 items:
567 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100568 404:
569 description: Enrichment Information type is not found
570 content:
571 application/json:
572 schema:
573 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100574 /A1-EI/v1/eijobs/{eiJobId}/status:
575 get:
576 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100577 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100578 summary: EI job status
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100579 operationId: getEiJobStatus
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100580 parameters:
581 - name: eiJobId
582 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100583 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100584 style: simple
585 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100586 schema:
587 type: string
588 responses:
589 200:
590 description: EI job status
591 content:
592 application/json:
593 schema:
594 $ref: '#/components/schemas/EiJobStatusObject'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100595 404:
596 description: Enrichment Information job is not found
597 content:
598 application/json:
599 schema:
600 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100601 /example_dataconsumer/eijobs/{eiJobId}/status:
602 post:
603 tags:
604 - A1-EI (callbacks)
605 summary: Callback for changed EI job status
606 description: The primitive is implemented by the data consumer and is invoked
607 when a EI job status has been changed.
608 operationId: jobStatusCallback
609 parameters:
610 - name: eiJobId
611 in: path
612 required: true
613 style: simple
614 explode: false
615 schema:
616 type: string
617 requestBody:
618 content:
619 application/json:
620 schema:
621 $ref: '#/components/schemas/EiJobStatusObject'
622 required: true
623 responses:
624 200:
625 description: OK
626 content:
627 application/json:
628 schema:
629 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100630components:
631 schemas:
632 producer_ei_job_request:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100633 required:
634 - ei_job_identity
635 type: object
636 properties:
637 owner:
638 type: string
639 description: The owner of the job
640 ei_job_identity:
641 type: string
642 description: Idenitity of the EI job
PatrikBuhr2dbde312021-01-15 13:12:39 +0100643 last_updated:
644 type: string
645 description: The time when the job was last updated or created (ISO-8601)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100646 ei_job_data:
647 type: object
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100648 description: Json for the job data
649 target_uri:
650 type: string
651 description: URI for the target of the EI
652 ei_type_identity:
653 type: string
654 description: Type idenitity for the job
655 description: The body of the EI producer callbacks for EI job creation and deletion
656 EiTypeObject:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100657 type: object
658 description: Information for an EI type
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100659 status_info:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100660 required:
661 - no_of_jobs
662 - no_of_producers
663 - no_of_types
664 - status
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100665 type: object
666 properties:
667 no_of_producers:
668 type: integer
669 description: Number of EI producers
670 format: int32
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100671 no_of_types:
672 type: integer
673 description: Number of EI types
674 format: int32
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100675 no_of_jobs:
676 type: integer
677 description: Number of EI jobs
678 format: int32
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100679 status:
680 type: string
681 description: status text
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100682 producer_ei_type_info:
PatrikBuhrfed5fc92021-01-18 12:34:38 +0100683 required:
684 - ei_job_data_schema
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100685 type: object
686 properties:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100687 ei_job_data_schema:
688 type: object
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100689 description: Json schema for the job data
690 description: Information for an EI type
691 producer_registration_info:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100692 required:
693 - ei_job_callback_url
694 - ei_producer_supervision_callback_url
695 - supported_ei_types
696 type: object
697 properties:
698 supported_ei_types:
699 type: array
PatrikBuhre912ee42021-01-11 15:03:54 +0100700 description: Supported EI type IDs
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100701 items:
PatrikBuhre912ee42021-01-11 15:03:54 +0100702 type: string
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100703 description: Supported EI type IDs
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100704 ei_producer_supervision_callback_url:
705 type: string
706 description: callback for producer supervision
707 ei_job_callback_url:
708 type: string
709 description: callback for EI job
710 description: Information for an EI producer
711 producer_status:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100712 required:
713 - operational_state
714 type: object
715 properties:
716 operational_state:
717 type: string
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100718 description: Represents the operational states
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100719 enum:
720 - ENABLED
721 - DISABLED
722 description: Status for an EI Producer
723 ProblemDetails:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100724 type: object
725 properties:
726 detail:
727 type: string
728 description: A human-readable explanation specific to this occurrence of
729 the problem.
730 example: EI job type not found
731 status:
732 type: integer
733 description: The HTTP status code generated by the origin server for this
734 occurrence of the problem.
735 format: int32
736 example: 404
737 description: A problem detail to carry details in a HTTP response according
738 to RFC 7807
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100739 Void:
740 type: object
741 description: 'Void/empty '
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100742 EiJobStatusObject:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100743 required:
744 - eiJobStatus
745 type: object
746 properties:
747 eiJobStatus:
748 type: string
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100749 description: Allowed values for EI job status
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100750 enum:
751 - ENABLED
752 - DISABLED
753 description: Status for an EI job
754 EiJobObject:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100755 required:
756 - eiTypeId
757 - jobDefinition
758 - jobOwner
759 - jobResultUri
760 type: object
761 properties:
762 eiTypeId:
763 type: string
764 description: EI type Idenitifier of the EI job
765 jobResultUri:
766 type: string
767 description: The target URI of the EI data
768 jobOwner:
769 type: string
770 description: Identity of the owner of the job
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100771 statusNotificationUri:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100772 type: string
773 description: The target of EI job status notifications
774 jobDefinition:
775 type: object
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100776 description: EI type specific job data
777 description: Information for an Enrichment Information Job