blob: 50b8a12e4904cf59c43584ebe37f1272ffebd14f [file] [log] [blame]
elinuxhenrik7a09fbb2020-12-04 16:51:19 +01001openapi: 3.0.1
2info:
PatrikBuhr6c468632021-02-23 13:26:23 +01003 title: Data management and exposure
PatrikBuhrc5ea7452021-01-29 15:36:29 +01004 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
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +02006 to produce one or several types of data (Information Type). One type of data can
7 be produced by zero to many producers. <br /><br />A data consumer can have several
8 active data subscriptions (Information Job). One Information Job consists of the
9 type of data to produce and additional parameters for filtering of the data. These
10 parameters are different for different data types.</p><h2>APIs provided by the
11 service</h2><h4>A1-EI</h4><p> This API is between Near-RT RIC and the Non-RT
12 RIC. The Near-RT RIC is a data consumer, which creates Information Jobs to subscribe
13 for data. In this context, the information is referred to as 'Enrichment Information',
14 EI.</p><h4>Data producer API</h4><p> This API is provided by the Non-RT RIC platform
15 and is intended to be part of the O-RAN R1 interface. The API is for use by different
16 kinds of data producers and provides support for:<ul><li>Registry of supported
17 information types and which parameters needed to setup a subscription.</li><li>Registry
18 of existing data producers.</li><li>Callback API provided by producers to setup
19 subscriptions.</li></ul></p><h4>Data consumer API</h4><p> This API is provided
20 by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The
21 API is for use by different kinds of data consumers and provides support for:<ul><li>Querying
22 of available types of data to consume.</li><li>Management of data subscription
23 jobs</li></ul></p><h4>Service status</h4><p> This API provides a means to monitor
24 the health of this service.</p>
PatrikBuhrc5ea7452021-01-29 15:36:29 +010025 license:
26 name: Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License.
27 url: http://www.apache.org/licenses/LICENSE-2.0
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010028 version: "1.0"
29servers:
PatrikBuhr1da5c882020-12-07 15:15:08 +010030- url: /
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010031tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +010032- name: A1-EI (registration)
33 description: Data consumer EI job registration
34- name: A1-EI (callbacks)
35 description: Data consumer EI job status callbacks
36- name: Data producer (callbacks)
37 description: API implemented by data producers
38- name: Data producer (registration)
39 description: API for data producers
PatrikBuhr6c468632021-02-23 13:26:23 +010040- name: Service status
PatrikBuhrc5ea7452021-01-29 15:36:29 +010041 description: API for monitoring of the service
PatrikBuhr6c468632021-02-23 13:26:23 +010042- name: Data consumer
43 description: API for data consumers
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010044paths:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +020045 /data-producer/v1/info-types:
46 get:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010047 tags:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +020048 - Data producer (registration)
49 summary: Info Type identifiers
50 operationId: getInfoTypdentifiers
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010051 responses:
52 200:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +020053 description: Info Type identifiers
PatrikBuhrc5ea7452021-01-29 15:36:29 +010054 content:
55 application/json:
56 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +020057 type: array
58 items:
59 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010060 /A1-EI/v1/eitypes/{eiTypeId}:
61 get:
62 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +010063 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010064 summary: Individual EI type
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +020065 operationId: getEiType
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010066 parameters:
67 - name: eiTypeId
68 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010069 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +010070 style: simple
71 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010072 schema:
73 type: string
74 responses:
75 200:
76 description: EI type
77 content:
78 application/json:
79 schema:
80 $ref: '#/components/schemas/EiTypeObject'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010081 404:
82 description: Enrichment Information type is not found
83 content:
84 application/json:
85 schema:
86 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +020087 /data-producer/v1/info-types/{infoTypeId}:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010088 get:
89 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +010090 - Data producer (registration)
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +020091 summary: Individual Information Type
92 operationId: getInfoType
93 parameters:
94 - name: infoTypeId
95 in: path
96 required: true
97 style: simple
98 explode: false
99 schema:
100 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100101 responses:
102 200:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200103 description: Info Type
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100104 content:
105 application/json:
106 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200107 $ref: '#/components/schemas/producer_info_type_info'
108 404:
109 description: Information type is not found
110 content:
111 application/json:
112 schema:
113 $ref: '#/components/schemas/ProblemDetails'
114 put:
115 tags:
116 - Data producer (registration)
117 summary: Individual Information Type
118 operationId: putInfoType
119 parameters:
120 - name: infoTypeId
121 in: path
122 required: true
123 style: simple
124 explode: false
125 schema:
126 type: string
127 requestBody:
128 content:
129 application/json:
130 schema:
131 $ref: '#/components/schemas/producer_info_type_info'
132 required: true
133 responses:
134 200:
135 description: Type updated
136 content:
137 application/json:
138 schema:
139 $ref: '#/components/schemas/Void'
140 201:
141 description: Type created
142 content:
143 application/json:
144 schema:
145 $ref: '#/components/schemas/Void'
146 400:
147 description: Bad request
148 content:
149 application/json:
150 schema:
151 $ref: '#/components/schemas/ProblemDetails'
152 delete:
153 tags:
154 - Data producer (registration)
155 summary: Individual Information Type
156 operationId: deleteInfoType
157 parameters:
158 - name: infoTypeId
159 in: path
160 required: true
161 style: simple
162 explode: false
163 schema:
164 type: string
165 responses:
166 200:
167 description: Not used
168 content:
169 application/json:
170 schema:
171 $ref: '#/components/schemas/Void'
172 204:
173 description: Producer deleted
174 content:
175 application/json:
176 schema:
177 $ref: '#/components/schemas/Void'
178 404:
179 description: Information type is not found
180 content:
181 application/json:
182 schema:
183 $ref: '#/components/schemas/ProblemDetails'
184 406:
185 description: The Information type has one or several active producers
186 content:
187 application/json:
188 schema:
189 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100190 /A1-EI/v1/eitypes:
191 get:
192 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100193 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100194 summary: EI type identifiers
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200195 operationId: getEiTypeIdentifiers
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100196 responses:
197 200:
198 description: EI type identifiers
199 content:
200 application/json:
201 schema:
202 type: array
203 items:
204 type: string
PatrikBuhr6c468632021-02-23 13:26:23 +0100205 /data-consumer/v1/info-types:
206 get:
207 tags:
208 - Data consumer
209 summary: Information type identifiers
210 operationId: getinfoTypeIdentifiers
211 responses:
212 200:
213 description: Information type identifiers
214 content:
215 application/json:
216 schema:
217 type: array
218 items:
219 type: string
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200220 /data-producer/v1/info-producers/{infoProducerId}:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100221 get:
222 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100223 - Data producer (registration)
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200224 summary: Individual Information Producer
225 operationId: getInfoProducer
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100226 parameters:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200227 - name: infoProducerId
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100228 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100229 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100230 style: simple
231 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100232 schema:
233 type: string
234 responses:
235 200:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200236 description: Information producer
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100237 content:
238 application/json:
239 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200240 $ref: '#/components/schemas/producer_registration_info'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100241 404:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200242 description: Information producer is not found
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100243 content:
244 application/json:
245 schema:
246 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhre912ee42021-01-11 15:03:54 +0100247 put:
248 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100249 - Data producer (registration)
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200250 summary: Individual Information Producer
251 operationId: putInfoProducer
PatrikBuhre912ee42021-01-11 15:03:54 +0100252 parameters:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200253 - name: infoProducerId
PatrikBuhre912ee42021-01-11 15:03:54 +0100254 in: path
PatrikBuhre912ee42021-01-11 15:03:54 +0100255 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100256 style: simple
257 explode: false
PatrikBuhre912ee42021-01-11 15:03:54 +0100258 schema:
259 type: string
260 requestBody:
PatrikBuhre912ee42021-01-11 15:03:54 +0100261 content:
262 application/json:
263 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200264 $ref: '#/components/schemas/producer_registration_info'
PatrikBuhre912ee42021-01-11 15:03:54 +0100265 required: true
266 responses:
267 200:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200268 description: Producer updated
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100269 content:
270 application/json:
271 schema:
272 $ref: '#/components/schemas/Void'
PatrikBuhre912ee42021-01-11 15:03:54 +0100273 201:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200274 description: Producer created
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100275 content:
276 application/json:
277 schema:
278 $ref: '#/components/schemas/Void'
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200279 404:
280 description: Producer not found
PatrikBuhrfed5fc92021-01-18 12:34:38 +0100281 content:
282 application/json:
283 schema:
284 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhre912ee42021-01-11 15:03:54 +0100285 delete:
286 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100287 - Data producer (registration)
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200288 summary: Individual Information Producer
289 operationId: deleteInfoProducer
PatrikBuhre912ee42021-01-11 15:03:54 +0100290 parameters:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200291 - name: infoProducerId
PatrikBuhre912ee42021-01-11 15:03:54 +0100292 in: path
PatrikBuhre912ee42021-01-11 15:03:54 +0100293 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100294 style: simple
295 explode: false
PatrikBuhre912ee42021-01-11 15:03:54 +0100296 schema:
297 type: string
298 responses:
299 200:
300 description: Not used
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100301 content:
302 application/json:
303 schema:
304 $ref: '#/components/schemas/Void'
PatrikBuhre912ee42021-01-11 15:03:54 +0100305 204:
306 description: Producer deleted
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100307 content:
308 application/json:
309 schema:
310 $ref: '#/components/schemas/Void'
PatrikBuhre912ee42021-01-11 15:03:54 +0100311 404:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200312 description: Producer is not found
PatrikBuhre912ee42021-01-11 15:03:54 +0100313 content:
314 application/json:
315 schema:
316 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200317 /producer_simulator/info_job/{infoJobId}:
318 delete:
319 tags:
320 - Data producer (callbacks)
321 summary: Callback for Information Job deletion
322 description: The call is invoked to terminate a data subscription. The endpoint
323 is provided by the Information Producer.
324 operationId: jobDeletedCallback
325 parameters:
326 - name: infoJobId
327 in: path
328 required: true
329 style: simple
330 explode: false
331 schema:
332 type: string
333 responses:
334 200:
335 description: OK
PatrikBuhre912ee42021-01-11 15:03:54 +0100336 content:
337 application/json:
338 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200339 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100340 /status:
341 get:
342 tags:
PatrikBuhr6c468632021-02-23 13:26:23 +0100343 - Service status
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100344 summary: Returns status and statistics of this service
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100345 operationId: getStatus
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100346 responses:
347 200:
348 description: Service is living
349 content:
350 application/json:
351 schema:
352 $ref: '#/components/schemas/status_info'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100353 /A1-EI/v1/eijobs/{eiJobId}:
354 get:
355 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100356 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100357 summary: Individual EI job
PatrikBuhr6c468632021-02-23 13:26:23 +0100358 operationId: getIndividualEiJob_1
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100359 parameters:
360 - name: eiJobId
361 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100362 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100363 style: simple
364 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100365 schema:
366 type: string
367 responses:
368 200:
369 description: EI job
370 content:
371 application/json:
372 schema:
373 $ref: '#/components/schemas/EiJobObject'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100374 404:
375 description: Enrichment Information job is not found
376 content:
377 application/json:
378 schema:
379 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100380 put:
381 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100382 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100383 summary: Individual EI job
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100384 operationId: putIndividualEiJob
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100385 parameters:
386 - name: eiJobId
387 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100388 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100389 style: simple
390 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100391 schema:
392 type: string
393 requestBody:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100394 content:
395 application/json:
396 schema:
397 $ref: '#/components/schemas/EiJobObject'
398 required: true
399 responses:
400 200:
401 description: Job updated
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100402 content:
403 application/json:
404 schema:
405 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100406 201:
407 description: Job created
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100408 content:
409 application/json:
410 schema:
411 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100412 404:
413 description: Enrichment Information type is not found
414 content:
415 application/json:
416 schema:
417 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100418 delete:
419 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100420 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100421 summary: Individual EI job
PatrikBuhr6c468632021-02-23 13:26:23 +0100422 operationId: deleteIndividualEiJob_1
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100423 parameters:
424 - name: eiJobId
425 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100426 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100427 style: simple
428 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100429 schema:
430 type: string
431 responses:
432 200:
433 description: Not used
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100434 content:
435 application/json:
436 schema:
437 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100438 204:
439 description: Job deleted
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100440 content:
441 application/json:
442 schema:
443 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100444 404:
445 description: Enrichment Information job is not found
446 content:
447 application/json:
448 schema:
449 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100450 /producer_simulator/health_check:
451 get:
452 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100453 - Data producer (callbacks)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100454 summary: Producer supervision
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200455 description: The endpoint is provided by the Information Producer and is used
456 for supervision of the producer.
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100457 operationId: producerSupervision
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100458 responses:
459 200:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100460 description: The producer is OK
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100461 content:
462 application/json:
463 schema:
464 type: string
PatrikBuhr6c468632021-02-23 13:26:23 +0100465 /data-consumer/v1/info-jobs:
466 get:
467 tags:
468 - Data consumer
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200469 summary: Information Job identifiers
PatrikBuhr6c468632021-02-23 13:26:23 +0100470 description: query for information job identifiers
471 operationId: getJobIds
472 parameters:
473 - name: infoTypeId
474 in: query
475 description: selects subscription jobs of matching information type
476 required: false
477 style: form
478 explode: true
479 schema:
480 type: string
481 - name: owner
482 in: query
483 description: selects subscription jobs for one job owner
484 required: false
485 style: form
486 explode: true
487 schema:
488 type: string
489 responses:
490 200:
491 description: Information information job identifiers
492 content:
493 application/json:
494 schema:
495 type: array
496 items:
497 type: string
498 404:
499 description: Information type is not found
500 content:
501 application/json:
502 schema:
503 $ref: '#/components/schemas/ProblemDetails'
504 /data-consumer/v1/info-jobs/{infoJobId}:
505 get:
506 tags:
507 - Data consumer
508 summary: Individual data subscription job
509 operationId: getIndividualEiJob
510 parameters:
511 - name: infoJobId
512 in: path
513 required: true
514 style: simple
515 explode: false
516 schema:
517 type: string
518 responses:
519 200:
520 description: Information subscription job
521 content:
522 application/json:
523 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200524 $ref: '#/components/schemas/consumer_job'
PatrikBuhr6c468632021-02-23 13:26:23 +0100525 404:
526 description: Information subscription job is not found
527 content:
528 application/json:
529 schema:
530 $ref: '#/components/schemas/ProblemDetails'
531 put:
532 tags:
533 - Data consumer
534 summary: Individual data subscription job
PatrikBuhr2a880052021-04-19 11:18:25 +0200535 description: The job will be enabled when a producer is available
PatrikBuhr6c468632021-02-23 13:26:23 +0100536 operationId: putIndividualInfoJob
537 parameters:
538 - name: infoJobId
539 in: path
540 required: true
541 style: simple
542 explode: false
543 schema:
544 type: string
PatrikBuhr2a880052021-04-19 11:18:25 +0200545 - name: typeCheck
546 in: query
547 description: when true, a validation of that the type exists and that the
548 job matches the type schema.
549 required: false
550 style: form
551 explode: true
552 schema:
553 type: boolean
554 default: false
PatrikBuhr6c468632021-02-23 13:26:23 +0100555 requestBody:
556 content:
557 application/json:
558 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200559 $ref: '#/components/schemas/consumer_job'
PatrikBuhr6c468632021-02-23 13:26:23 +0100560 required: true
561 responses:
562 200:
563 description: Job updated
564 content:
565 application/json:
566 schema:
567 $ref: '#/components/schemas/Void'
568 201:
569 description: Job created
570 content:
571 application/json:
572 schema:
573 $ref: '#/components/schemas/Void'
574 404:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200575 description: Information type is not found
PatrikBuhr6c468632021-02-23 13:26:23 +0100576 content:
577 application/json:
578 schema:
579 $ref: '#/components/schemas/ProblemDetails'
580 delete:
581 tags:
582 - Data consumer
583 summary: Individual data subscription job
584 operationId: deleteIndividualEiJob
585 parameters:
586 - name: infoJobId
587 in: path
588 required: true
589 style: simple
590 explode: false
591 schema:
592 type: string
593 responses:
594 200:
595 description: Not used
596 content:
597 application/json:
598 schema:
599 $ref: '#/components/schemas/Void'
600 204:
601 description: Job deleted
602 content:
603 application/json:
604 schema:
605 $ref: '#/components/schemas/Void'
606 404:
607 description: Information subscription job is not found
608 content:
609 application/json:
610 schema:
611 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200612 /data-producer/v1/info-producers:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100613 get:
614 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100615 - Data producer (registration)
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200616 summary: Information producer identifiers
617 operationId: getInfoProducerIdentifiers
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100618 parameters:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200619 - name: info_type_id
620 in: query
621 description: If given, only the producers for the EI Data type is returned.
622 required: false
623 style: form
624 explode: true
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100625 schema:
626 type: string
627 responses:
628 200:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200629 description: Information producer identifiers
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100630 content:
631 application/json:
632 schema:
633 type: array
634 items:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200635 type: string
PatrikBuhr6c468632021-02-23 13:26:23 +0100636 /data-consumer/v1/info-types/{infoTypeId}:
637 get:
638 tags:
639 - Data consumer
640 summary: Individual information type
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200641 operationId: getInfoType_1
PatrikBuhr6c468632021-02-23 13:26:23 +0100642 parameters:
643 - name: infoTypeId
644 in: path
645 required: true
646 style: simple
647 explode: false
648 schema:
649 type: string
650 responses:
651 200:
652 description: Information type
653 content:
654 application/json:
655 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200656 $ref: '#/components/schemas/consumer_information_type'
PatrikBuhr6c468632021-02-23 13:26:23 +0100657 404:
658 description: Information type is not found
659 content:
660 application/json:
661 schema:
662 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200663 /producer_simulator/info_job:
664 post:
665 tags:
666 - Data producer (callbacks)
667 summary: Callback for Information Job creation/modification
668 description: The call is invoked to activate or to modify a data subscription.
669 The endpoint is provided by the Information Producer.
670 operationId: jobCreatedCallback
671 requestBody:
672 content:
673 application/json:
674 schema:
675 $ref: '#/components/schemas/producer_info_job_request'
676 required: true
677 responses:
678 200:
679 description: OK
680 content:
681 application/json:
682 schema:
683 $ref: '#/components/schemas/Void'
684 /example_dataconsumer/info_jobs/{infoJobId}/status:
685 post:
686 tags:
687 - A1-EI (callbacks)
688 summary: Callback for changed Information Job status
689 description: The primitive is implemented by the data consumer and is invoked
690 when a Information Job status has been changed.
691 operationId: jobStatusCallback
692 parameters:
693 - name: infoJobId
694 in: path
695 required: true
696 style: simple
697 explode: false
698 schema:
699 type: string
700 requestBody:
701 content:
702 application/json:
703 schema:
704 $ref: '#/components/schemas/EiJobStatusObject'
705 required: true
706 responses:
707 200:
708 description: OK
709 content:
710 application/json:
711 schema:
712 $ref: '#/components/schemas/Void'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100713 /A1-EI/v1/eijobs:
714 get:
715 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100716 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100717 summary: EI job identifiers
718 description: query for EI job identifiers
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100719 operationId: getEiJobIds
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100720 parameters:
721 - name: eiTypeId
722 in: query
723 description: selects EI jobs of matching EI type
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100724 required: false
725 style: form
726 explode: true
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100727 schema:
728 type: string
729 - name: owner
730 in: query
731 description: selects EI jobs for one EI job owner
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100732 required: false
733 style: form
734 explode: true
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100735 schema:
736 type: string
737 responses:
738 200:
739 description: EI job identifiers
740 content:
741 application/json:
742 schema:
743 type: array
744 items:
745 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100746 404:
747 description: Enrichment Information type is not found
748 content:
749 application/json:
750 schema:
751 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100752 /A1-EI/v1/eijobs/{eiJobId}/status:
753 get:
754 tags:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100755 - A1-EI (registration)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100756 summary: EI job status
PatrikBuhr6c468632021-02-23 13:26:23 +0100757 operationId: getEiJobStatus_1
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100758 parameters:
759 - name: eiJobId
760 in: path
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100761 required: true
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100762 style: simple
763 explode: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100764 schema:
765 type: string
766 responses:
767 200:
768 description: EI job status
769 content:
770 application/json:
771 schema:
772 $ref: '#/components/schemas/EiJobStatusObject'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100773 404:
774 description: Enrichment Information job is not found
775 content:
776 application/json:
777 schema:
778 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200779 /data-producer/v1/info-producers/{infoProducerId}/status:
780 get:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100781 tags:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200782 - Data producer (registration)
783 summary: Information producer status
784 operationId: getInfoProducerStatus
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100785 parameters:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200786 - name: infoProducerId
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100787 in: path
788 required: true
789 style: simple
790 explode: false
791 schema:
792 type: string
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100793 responses:
794 200:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200795 description: Information producer status
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100796 content:
797 application/json:
798 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200799 $ref: '#/components/schemas/producer_status'
800 404:
801 description: Information producer is not found
802 content:
803 application/json:
804 schema:
805 $ref: '#/components/schemas/ProblemDetails'
806 /data-producer/v1/info-producers/{infoProducerId}/info-jobs:
807 get:
808 tags:
809 - Data producer (registration)
810 summary: Information Job definitions
811 description: Information Job definitions for one Information Producer
812 operationId: getInfoProducerJobs
813 parameters:
814 - name: infoProducerId
815 in: path
816 required: true
817 style: simple
818 explode: false
819 schema:
820 type: string
821 responses:
822 200:
823 description: Information producer
824 content:
825 application/json:
826 schema:
827 type: array
828 items:
829 $ref: '#/components/schemas/producer_info_job_request'
830 404:
831 description: Information producer is not found
832 content:
833 application/json:
834 schema:
835 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhr6c468632021-02-23 13:26:23 +0100836 /data-consumer/v1/info-jobs/{infoJobId}/status:
837 get:
838 tags:
839 - Data consumer
840 summary: Job status
841 operationId: getEiJobStatus
842 parameters:
843 - name: infoJobId
844 in: path
845 required: true
846 style: simple
847 explode: false
848 schema:
849 type: string
850 responses:
851 200:
852 description: Information subscription job status
853 content:
854 application/json:
855 schema:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200856 $ref: '#/components/schemas/consumer_job_status'
PatrikBuhr6c468632021-02-23 13:26:23 +0100857 404:
858 description: Information subscription job is not found
859 content:
860 application/json:
861 schema:
862 $ref: '#/components/schemas/ProblemDetails'
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100863components:
864 schemas:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200865 consumer_information_type:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100866 required:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200867 - job_data_schema
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100868 type: object
869 properties:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200870 job_data_schema:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100871 type: object
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200872 description: Json schema for the job data
873 description: Information for an Information type
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100874 EiTypeObject:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100875 type: object
876 description: Information for an EI type
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100877 status_info:
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100878 required:
879 - no_of_jobs
880 - no_of_producers
881 - no_of_types
882 - status
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100883 type: object
884 properties:
885 no_of_producers:
886 type: integer
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200887 description: Number of Information Producers
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100888 format: int32
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100889 no_of_types:
890 type: integer
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200891 description: Number of Information Types
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100892 format: int32
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100893 no_of_jobs:
894 type: integer
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200895 description: Number of Information Jobs
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100896 format: int32
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100897 status:
898 type: string
899 description: status text
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100900 producer_registration_info:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100901 required:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200902 - info_job_callback_url
903 - info_producer_supervision_callback_url
904 - supported_info_types
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100905 type: object
906 properties:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200907 info_producer_supervision_callback_url:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100908 type: string
909 description: callback for producer supervision
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200910 supported_info_types:
911 type: array
912 description: Supported Information Type IDs
913 items:
914 type: string
915 description: Supported Information Type IDs
916 info_job_callback_url:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100917 type: string
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200918 description: callback for Information Job
919 description: Information for an Information Producer
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100920 ProblemDetails:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100921 type: object
922 properties:
923 detail:
924 type: string
925 description: A human-readable explanation specific to this occurrence of
926 the problem.
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200927 example: Information Job type not found
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100928 status:
929 type: integer
930 description: The HTTP status code generated by the origin server for this
931 occurrence of the problem.
932 format: int32
933 example: 404
934 description: A problem detail to carry details in a HTTP response according
935 to RFC 7807
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100936 EiJobStatusObject:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100937 required:
938 - eiJobStatus
939 type: object
940 properties:
941 eiJobStatus:
942 type: string
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100943 description: Allowed values for EI job status
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100944 enum:
945 - ENABLED
946 - DISABLED
947 description: Status for an EI job
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200948 consumer_job_status:
949 required:
950 - info_job_status
951 type: object
952 properties:
953 info_job_status:
954 type: string
955 description: Allowed values for Information Job status
956 enum:
957 - ENABLED
958 - DISABLED
959 description: Status for an Information Job
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100960 EiJobObject:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100961 required:
962 - eiTypeId
963 - jobDefinition
964 - jobOwner
965 - jobResultUri
966 type: object
967 properties:
968 eiTypeId:
969 type: string
970 description: EI type Idenitifier of the EI job
971 jobResultUri:
972 type: string
973 description: The target URI of the EI data
974 jobOwner:
975 type: string
976 description: Identity of the owner of the job
PatrikBuhrc5ea7452021-01-29 15:36:29 +0100977 statusNotificationUri:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100978 type: string
979 description: The target of EI job status notifications
980 jobDefinition:
981 type: object
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100982 description: EI type specific job data
983 description: Information for an Enrichment Information Job
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200984 producer_info_type_info:
PatrikBuhr6c468632021-02-23 13:26:23 +0100985 required:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200986 - info_job_data_schema
PatrikBuhr6c468632021-02-23 13:26:23 +0100987 type: object
988 properties:
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +0200989 info_job_data_schema:
990 type: object
991 description: Json schema for the job data
992 description: Information for an Information Type
993 producer_info_job_request:
994 required:
995 - info_job_identity
996 type: object
997 properties:
998 owner:
PatrikBuhr6c468632021-02-23 13:26:23 +0100999 type: string
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +02001000 description: The owner of the job
1001 last_updated:
1002 type: string
1003 description: The time when the job was last updated or created (ISO-8601)
1004 info_job_identity:
1005 type: string
1006 description: Identity of the Information Job
1007 target_uri:
1008 type: string
1009 description: URI for the target of the produced Information
1010 info_job_data:
1011 type: object
1012 description: Json for the job data
1013 info_type_identity:
1014 type: string
1015 description: Type identity for the job
1016 description: The body of the Information Producer callbacks for Information
1017 Job creation and deletion
1018 consumer_job:
1019 required:
1020 - info_type_id
1021 - job_definition
1022 - job_owner
1023 - job_result_uri
1024 type: object
1025 properties:
1026 info_type_id:
1027 type: string
1028 description: Information type Idenitifier of the subscription job
1029 job_result_uri:
1030 type: string
1031 description: The target URI of the subscribed information
1032 job_owner:
1033 type: string
1034 description: Identity of the owner of the job
1035 job_definition:
1036 type: object
1037 description: Information type specific job data
1038 status_notification_uri:
1039 type: string
1040 description: The target of Information subscription job status notifications
1041 description: Information for an Enrichment Information Job
PatrikBuhr6c468632021-02-23 13:26:23 +01001042 producer_status:
1043 required:
1044 - operational_state
1045 type: object
1046 properties:
1047 operational_state:
1048 type: string
1049 description: Represents the operational states
1050 enum:
1051 - ENABLED
1052 - DISABLED
PatrikBuhr8fd8e9f2021-05-10 13:42:22 +02001053 description: Status for an Info Producer
PatrikBuhr6c468632021-02-23 13:26:23 +01001054 Void:
1055 type: object
1056 description: 'Void/empty '