Migrated to springboot 2.6.2
[nonrtric.git] / information-coordinator-service / api / ics-api.yaml
1 openapi: 3.0.1
2 info:
3   title: Data management and exposure
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 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><li>Optional callback API provided by consumers to get notification on
24     added and removed information types.</li></ul></p><h4>Service status</h4><p>  This
25     API provides a means to monitor the health of this service.</p>
26   license:
27     name: Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License.
28     url: http://www.apache.org/licenses/LICENSE-2.0
29   version: "1.0"
30 servers:
31 - url: /
32 tags:
33 - name: A1-EI (callbacks)
34 - name: Data producer (callbacks)
35   description: API implemented by data producers
36 - name: Data consumer
37 - name: Data consumer (callbacks)
38 - name: A1-EI (registration)
39   description: Data consumer EI job registration
40 - name: A1-EI (callbacks)
41   description: Data consumer EI job status callbacks
42 - name: Service status
43 - name: A1-EI (registration)
44 - name: Data producer (registration)
45 - name: Data producer (callbacks)
46 - name: Data producer (registration)
47   description: API for data producers
48 - name: Data consumer
49   description: API for data consumers
50 - name: Service status
51   description: API for monitoring of the service
52 - name: Actuator
53   description: Monitor and interact
54   externalDocs:
55     description: Spring Boot Actuator Web API Documentation
56     url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
57 paths:
58   /example_dataproducer/info_job/{infoJobId}:
59     delete:
60       tags:
61       - Data producer (callbacks)
62       summary: Callback for Information Job deletion
63       description: The call is invoked to terminate a data subscription. The endpoint
64         is provided by the Information Producer.
65       operationId: jobDeletedCallback
66       parameters:
67       - name: infoJobId
68         in: path
69         required: true
70         style: simple
71         explode: false
72         schema:
73           type: string
74       responses:
75         200:
76           description: OK
77           content:
78             application/json:
79               schema:
80                 $ref: '#/components/schemas/Void'
81   /data-producer/v1/info-types:
82     get:
83       tags:
84       - Data producer (registration)
85       summary: Info Type identifiers
86       operationId: getInfoTypdentifiers
87       responses:
88         200:
89           description: Info Type identifiers
90           content:
91             application/json:
92               schema:
93                 type: array
94                 items:
95                   type: string
96   /A1-EI/v1/eitypes/{eiTypeId}:
97     get:
98       tags:
99       - A1-EI (registration)
100       summary: Individual EI type
101       operationId: getEiType
102       parameters:
103       - name: eiTypeId
104         in: path
105         required: true
106         style: simple
107         explode: false
108         schema:
109           type: string
110       responses:
111         200:
112           description: EI type
113           content:
114             application/json:
115               schema:
116                 $ref: '#/components/schemas/EiTypeObject'
117         404:
118           description: Enrichment Information type is not found
119           content:
120             application/json:
121               schema:
122                 $ref: '#/components/schemas/ProblemDetails'
123   /actuator/threaddump:
124     get:
125       tags:
126       - Actuator
127       summary: Actuator web endpoint 'threaddump'
128       operationId: threaddump_4
129       responses:
130         200:
131           description: OK
132           content:
133             '*/*':
134               schema:
135                 type: object
136   /example_dataproducer/info_job:
137     post:
138       tags:
139       - Data producer (callbacks)
140       summary: Callback for Information Job creation/modification
141       description: The call is invoked to activate or to modify a data subscription.
142         The endpoint is provided by the Information Producer.
143       operationId: jobCreatedCallback
144       requestBody:
145         content:
146           application/json:
147             schema:
148               $ref: '#/components/schemas/producer_info_job_request'
149         required: true
150       responses:
151         200:
152           description: OK
153           content:
154             application/json:
155               schema:
156                 $ref: '#/components/schemas/Void'
157   /data-producer/v1/info-types/{infoTypeId}:
158     get:
159       tags:
160       - Data producer (registration)
161       summary: Individual Information Type
162       operationId: getInfoType
163       parameters:
164       - name: infoTypeId
165         in: path
166         required: true
167         style: simple
168         explode: false
169         schema:
170           type: string
171       responses:
172         200:
173           description: Info Type
174           content:
175             application/json:
176               schema:
177                 $ref: '#/components/schemas/producer_info_type_info'
178         404:
179           description: Information type is not found
180           content:
181             application/json:
182               schema:
183                 $ref: '#/components/schemas/ProblemDetails'
184     put:
185       tags:
186       - Data producer (registration)
187       summary: Individual Information Type
188       operationId: putInfoType
189       parameters:
190       - name: infoTypeId
191         in: path
192         required: true
193         style: simple
194         explode: false
195         schema:
196           type: string
197       requestBody:
198         content:
199           application/json:
200             schema:
201               $ref: '#/components/schemas/producer_info_type_info'
202         required: true
203       responses:
204         200:
205           description: Type updated
206           content:
207             application/json:
208               schema:
209                 $ref: '#/components/schemas/Void'
210         201:
211           description: Type created
212           content:
213             application/json:
214               schema:
215                 $ref: '#/components/schemas/Void'
216         400:
217           description: Input validation failed
218           content:
219             application/json:
220               schema:
221                 $ref: '#/components/schemas/ProblemDetails'
222     delete:
223       tags:
224       - Data producer (registration)
225       summary: Individual Information Type
226       operationId: deleteInfoType
227       parameters:
228       - name: infoTypeId
229         in: path
230         required: true
231         style: simple
232         explode: false
233         schema:
234           type: string
235       responses:
236         200:
237           description: Not used
238           content:
239             application/json:
240               schema:
241                 $ref: '#/components/schemas/Void'
242         204:
243           description: Producer deleted
244           content:
245             application/json:
246               schema:
247                 $ref: '#/components/schemas/Void'
248         404:
249           description: Information type is not found
250           content:
251             application/json:
252               schema:
253                 $ref: '#/components/schemas/ProblemDetails'
254         409:
255           description: The Information type has one or several active producers
256           content:
257             application/json:
258               schema:
259                 $ref: '#/components/schemas/ProblemDetails'
260   /data-consumer/v1/info-type-subscription/{subscriptionId}:
261     get:
262       tags:
263       - Data consumer
264       summary: Individual subscription for information types (registration/deregistration)
265       operationId: getIndividualTypeSubscription
266       parameters:
267       - name: subscriptionId
268         in: path
269         required: true
270         style: simple
271         explode: false
272         schema:
273           type: string
274       responses:
275         200:
276           description: Type subscription
277           content:
278             application/json:
279               schema:
280                 $ref: '#/components/schemas/consumer_type_subscription_info'
281         404:
282           description: Subscription is not found
283           content:
284             application/json:
285               schema:
286                 $ref: '#/components/schemas/ProblemDetails'
287     put:
288       tags:
289       - Data consumer
290       summary: Individual subscription for information types (registration/deregistration)
291       description: This service operation is used to subscribe to notifications for
292         changes in the availability of data types.
293       operationId: putIndividualTypeSubscription
294       parameters:
295       - name: subscriptionId
296         in: path
297         required: true
298         style: simple
299         explode: false
300         schema:
301           type: string
302       requestBody:
303         content:
304           application/json:
305             schema:
306               $ref: '#/components/schemas/consumer_type_subscription_info'
307         required: true
308       responses:
309         200:
310           description: Subscription updated
311           content:
312             application/json:
313               schema:
314                 $ref: '#/components/schemas/Void'
315         201:
316           description: Subscription created
317           content:
318             application/json:
319               schema:
320                 $ref: '#/components/schemas/Void'
321     delete:
322       tags:
323       - Data consumer
324       summary: Individual subscription for information types (registration/deregistration)
325       operationId: deleteIndividualTypeSubscription
326       parameters:
327       - name: subscriptionId
328         in: path
329         required: true
330         style: simple
331         explode: false
332         schema:
333           type: string
334       responses:
335         200:
336           description: Not used
337           content:
338             application/json:
339               schema:
340                 $ref: '#/components/schemas/Void'
341         204:
342           description: Subscription deleted
343           content:
344             application/json:
345               schema:
346                 $ref: '#/components/schemas/Void'
347         404:
348           description: Subscription is not found
349           content:
350             application/json:
351               schema:
352                 $ref: '#/components/schemas/ProblemDetails'
353   /actuator/loggers:
354     get:
355       tags:
356       - Actuator
357       summary: Actuator web endpoint 'loggers'
358       operationId: loggers_2
359       responses:
360         200:
361           description: OK
362           content:
363             '*/*':
364               schema:
365                 type: object
366   /actuator/health/**:
367     get:
368       tags:
369       - Actuator
370       summary: Actuator web endpoint 'health-path'
371       operationId: health-path_2
372       responses:
373         200:
374           description: OK
375           content:
376             '*/*':
377               schema:
378                 type: object
379   /data-consumer/v1/info-types:
380     get:
381       tags:
382       - Data consumer
383       summary: Information type identifiers
384       operationId: getinfoTypeIdentifiers
385       responses:
386         200:
387           description: Information type identifiers
388           content:
389             application/json:
390               schema:
391                 type: array
392                 items:
393                   type: string
394   /actuator/metrics/{requiredMetricName}:
395     get:
396       tags:
397       - Actuator
398       summary: Actuator web endpoint 'metrics-requiredMetricName'
399       operationId: metrics-requiredMetricName_2
400       parameters:
401       - name: requiredMetricName
402         in: path
403         required: true
404         style: simple
405         explode: false
406         schema:
407           type: string
408       responses:
409         200:
410           description: OK
411           content:
412             '*/*':
413               schema:
414                 type: object
415   /actuator:
416     get:
417       tags:
418       - Actuator
419       summary: Actuator root web endpoint
420       operationId: links_1
421       responses:
422         200:
423           description: OK
424           content:
425             '*/*':
426               schema:
427                 type: object
428                 additionalProperties:
429                   type: object
430                   additionalProperties:
431                     $ref: '#/components/schemas/Link'
432   /data-consumer/v1/info-jobs:
433     get:
434       tags:
435       - Data consumer
436       summary: Information Job identifiers
437       description: query for information job identifiers
438       operationId: getJobIds
439       parameters:
440       - name: infoTypeId
441         in: query
442         description: selects subscription jobs of matching information type
443         required: false
444         style: form
445         explode: true
446         schema:
447           type: string
448       - name: owner
449         in: query
450         description: selects result for one owner
451         required: false
452         style: form
453         explode: true
454         schema:
455           type: string
456       responses:
457         200:
458           description: Information information job identifiers
459           content:
460             application/json:
461               schema:
462                 type: array
463                 items:
464                   type: string
465         404:
466           description: Information type is not found
467           content:
468             application/json:
469               schema:
470                 $ref: '#/components/schemas/ProblemDetails'
471   /actuator/loggers/{name}:
472     get:
473       tags:
474       - Actuator
475       summary: Actuator web endpoint 'loggers-name'
476       operationId: loggers-name_4
477       parameters:
478       - name: name
479         in: path
480         required: true
481         style: simple
482         explode: false
483         schema:
484           type: string
485       responses:
486         200:
487           description: OK
488           content:
489             '*/*':
490               schema:
491                 type: object
492     post:
493       tags:
494       - Actuator
495       summary: Actuator web endpoint 'loggers-name'
496       operationId: loggers-name_3
497       parameters:
498       - name: name
499         in: path
500         required: true
501         style: simple
502         explode: false
503         schema:
504           type: string
505       responses:
506         200:
507           description: OK
508           content:
509             '*/*':
510               schema:
511                 type: object
512   /example_dataconsumer/info_jobs/{infoJobId}/status:
513     post:
514       tags:
515       - A1-EI (callbacks)
516       summary: Callback for changed Information Job status
517       description: The primitive is implemented by the data consumer and is invoked
518         when a Information Job status has been changed.
519       operationId: jobStatusCallback
520       parameters:
521       - name: infoJobId
522         in: path
523         required: true
524         style: simple
525         explode: false
526         schema:
527           type: string
528       requestBody:
529         content:
530           application/json:
531             schema:
532               $ref: '#/components/schemas/EiJobStatusObject'
533         required: true
534       responses:
535         200:
536           description: OK
537           content:
538             application/json:
539               schema:
540                 $ref: '#/components/schemas/Void'
541   /A1-EI/v1/eijobs/{eiJobId}/status:
542     get:
543       tags:
544       - A1-EI (registration)
545       summary: EI job status
546       operationId: getEiJobStatus_1
547       parameters:
548       - name: eiJobId
549         in: path
550         required: true
551         style: simple
552         explode: false
553         schema:
554           type: string
555       responses:
556         200:
557           description: EI job status
558           content:
559             application/json:
560               schema:
561                 $ref: '#/components/schemas/EiJobStatusObject'
562         404:
563           description: Enrichment Information job is not found
564           content:
565             application/json:
566               schema:
567                 $ref: '#/components/schemas/ProblemDetails'
568   /data-producer/v1/info-producers/{infoProducerId}/status:
569     get:
570       tags:
571       - Data producer (registration)
572       summary: Information producer status
573       operationId: getInfoProducerStatus
574       parameters:
575       - name: infoProducerId
576         in: path
577         required: true
578         style: simple
579         explode: false
580         schema:
581           type: string
582       responses:
583         200:
584           description: Information producer status
585           content:
586             application/json:
587               schema:
588                 $ref: '#/components/schemas/producer_status'
589         404:
590           description: Information producer is not found
591           content:
592             application/json:
593               schema:
594                 $ref: '#/components/schemas/ProblemDetails'
595   /data-consumer/v1/info-jobs/{infoJobId}/status:
596     get:
597       tags:
598       - Data consumer
599       summary: Job status
600       operationId: getEiJobStatus
601       parameters:
602       - name: infoJobId
603         in: path
604         required: true
605         style: simple
606         explode: false
607         schema:
608           type: string
609       responses:
610         200:
611           description: Information subscription job status
612           content:
613             application/json:
614               schema:
615                 $ref: '#/components/schemas/consumer_job_status'
616         404:
617           description: Information subscription job is not found
618           content:
619             application/json:
620               schema:
621                 $ref: '#/components/schemas/ProblemDetails'
622   /actuator/metrics:
623     get:
624       tags:
625       - Actuator
626       summary: Actuator web endpoint 'metrics'
627       operationId: metrics_2
628       responses:
629         200:
630           description: OK
631           content:
632             '*/*':
633               schema:
634                 type: object
635   /actuator/info:
636     get:
637       tags:
638       - Actuator
639       summary: Actuator web endpoint 'info'
640       operationId: info_2
641       responses:
642         200:
643           description: OK
644           content:
645             '*/*':
646               schema:
647                 type: object
648   /example_dataproducer/health_check:
649     get:
650       tags:
651       - Data producer (callbacks)
652       summary: Producer supervision
653       description: The endpoint is provided by the Information Producer and is used
654         for supervision of the producer.
655       operationId: producerSupervision
656       responses:
657         200:
658           description: The producer is OK
659           content:
660             application/json:
661               schema:
662                 type: string
663   /A1-EI/v1/eitypes:
664     get:
665       tags:
666       - A1-EI (registration)
667       summary: EI type identifiers
668       operationId: getEiTypeIdentifiers
669       responses:
670         200:
671           description: EI type identifiers
672           content:
673             application/json:
674               schema:
675                 type: array
676                 items:
677                   type: string
678   /data-producer/v1/info-producers/{infoProducerId}:
679     get:
680       tags:
681       - Data producer (registration)
682       summary: Individual Information Producer
683       operationId: getInfoProducer
684       parameters:
685       - name: infoProducerId
686         in: path
687         required: true
688         style: simple
689         explode: false
690         schema:
691           type: string
692       responses:
693         200:
694           description: Information producer
695           content:
696             application/json:
697               schema:
698                 $ref: '#/components/schemas/producer_registration_info'
699         404:
700           description: Information producer is not found
701           content:
702             application/json:
703               schema:
704                 $ref: '#/components/schemas/ProblemDetails'
705     put:
706       tags:
707       - Data producer (registration)
708       summary: Individual Information Producer
709       operationId: putInfoProducer
710       parameters:
711       - name: infoProducerId
712         in: path
713         required: true
714         style: simple
715         explode: false
716         schema:
717           type: string
718       requestBody:
719         content:
720           application/json:
721             schema:
722               $ref: '#/components/schemas/producer_registration_info'
723         required: true
724       responses:
725         200:
726           description: Producer updated
727           content:
728             application/json:
729               schema:
730                 $ref: '#/components/schemas/Void'
731         201:
732           description: Producer created
733           content:
734             application/json:
735               schema:
736                 $ref: '#/components/schemas/Void'
737         400:
738           description: Input validation failed
739           content:
740             application/json:
741               schema:
742                 $ref: '#/components/schemas/ProblemDetails'
743         404:
744           description: Producer type not found
745           content:
746             application/json:
747               schema:
748                 $ref: '#/components/schemas/ProblemDetails'
749     delete:
750       tags:
751       - Data producer (registration)
752       summary: Individual Information Producer
753       operationId: deleteInfoProducer
754       parameters:
755       - name: infoProducerId
756         in: path
757         required: true
758         style: simple
759         explode: false
760         schema:
761           type: string
762       responses:
763         200:
764           description: Not used
765           content:
766             application/json:
767               schema:
768                 $ref: '#/components/schemas/Void'
769         204:
770           description: Producer deleted
771           content:
772             application/json:
773               schema:
774                 $ref: '#/components/schemas/Void'
775         404:
776           description: Producer is not found
777           content:
778             application/json:
779               schema:
780                 $ref: '#/components/schemas/ProblemDetails'
781   /status:
782     get:
783       tags:
784       - Service status
785       summary: Returns status and statistics of this service
786       operationId: getStatus
787       responses:
788         200:
789           description: Service is living
790           content:
791             application/json:
792               schema:
793                 $ref: '#/components/schemas/service_status_info'
794   /data-consumer/v1/info-type-subscription:
795     get:
796       tags:
797       - Data consumer
798       summary: Information type subscription identifiers
799       description: query for information type subscription identifiers
800       operationId: getInfoTypeSubscriptions
801       parameters:
802       - name: owner
803         in: query
804         description: selects result for one owner
805         required: false
806         style: form
807         explode: true
808         schema:
809           type: string
810       responses:
811         200:
812           description: Information type subscription identifiers
813           content:
814             application/json:
815               schema:
816                 type: array
817                 items:
818                   type: string
819   /A1-EI/v1/eijobs/{eiJobId}:
820     get:
821       tags:
822       - A1-EI (registration)
823       summary: Individual EI job
824       operationId: getIndividualEiJob_1
825       parameters:
826       - name: eiJobId
827         in: path
828         required: true
829         style: simple
830         explode: false
831         schema:
832           type: string
833       responses:
834         200:
835           description: EI job
836           content:
837             application/json:
838               schema:
839                 $ref: '#/components/schemas/EiJobObject'
840         404:
841           description: Enrichment Information job is not found
842           content:
843             application/json:
844               schema:
845                 $ref: '#/components/schemas/ProblemDetails'
846     put:
847       tags:
848       - A1-EI (registration)
849       summary: Individual EI job
850       operationId: putIndividualEiJob
851       parameters:
852       - name: eiJobId
853         in: path
854         required: true
855         style: simple
856         explode: false
857         schema:
858           type: string
859       requestBody:
860         content:
861           application/json:
862             schema:
863               $ref: '#/components/schemas/EiJobObject'
864         required: true
865       responses:
866         200:
867           description: Job updated
868           content:
869             application/json:
870               schema:
871                 $ref: '#/components/schemas/Void'
872         201:
873           description: Job created
874           content:
875             application/json:
876               schema:
877                 $ref: '#/components/schemas/Void'
878         400:
879           description: Input validation failed
880           content:
881             application/json:
882               schema:
883                 $ref: '#/components/schemas/ProblemDetails'
884         404:
885           description: Enrichment Information type is not found
886           content:
887             application/json:
888               schema:
889                 $ref: '#/components/schemas/ProblemDetails'
890         409:
891           description: Cannot modify job type
892           content:
893             application/json:
894               schema:
895                 $ref: '#/components/schemas/ProblemDetails'
896     delete:
897       tags:
898       - A1-EI (registration)
899       summary: Individual EI job
900       operationId: deleteIndividualEiJob_1
901       parameters:
902       - name: eiJobId
903         in: path
904         required: true
905         style: simple
906         explode: false
907         schema:
908           type: string
909       responses:
910         200:
911           description: Not used
912           content:
913             application/json:
914               schema:
915                 $ref: '#/components/schemas/Void'
916         204:
917           description: Job deleted
918           content:
919             application/json:
920               schema:
921                 $ref: '#/components/schemas/Void'
922         404:
923           description: Enrichment Information job is not found
924           content:
925             application/json:
926               schema:
927                 $ref: '#/components/schemas/ProblemDetails'
928   /actuator/logfile:
929     get:
930       tags:
931       - Actuator
932       summary: Actuator web endpoint 'logfile'
933       operationId: logfile_2
934       responses:
935         200:
936           description: OK
937           content:
938             '*/*':
939               schema:
940                 type: object
941   /data-consumer/v1/info-jobs/{infoJobId}:
942     get:
943       tags:
944       - Data consumer
945       summary: Individual data subscription job
946       operationId: getIndividualEiJob
947       parameters:
948       - name: infoJobId
949         in: path
950         required: true
951         style: simple
952         explode: false
953         schema:
954           type: string
955       responses:
956         200:
957           description: Information subscription job
958           content:
959             application/json:
960               schema:
961                 $ref: '#/components/schemas/consumer_job'
962         404:
963           description: Information subscription job is not found
964           content:
965             application/json:
966               schema:
967                 $ref: '#/components/schemas/ProblemDetails'
968     put:
969       tags:
970       - Data consumer
971       summary: Individual data subscription job
972       description: The job will be enabled when a producer is available
973       operationId: putIndividualInfoJob
974       parameters:
975       - name: infoJobId
976         in: path
977         required: true
978         style: simple
979         explode: false
980         schema:
981           type: string
982       - name: typeCheck
983         in: query
984         description: when true, a validation of that the type exists and that the
985           job matches the type schema.
986         required: false
987         style: form
988         explode: true
989         schema:
990           type: boolean
991           default: false
992       requestBody:
993         content:
994           application/json:
995             schema:
996               $ref: '#/components/schemas/consumer_job'
997         required: true
998       responses:
999         200:
1000           description: Job updated
1001           content:
1002             application/json:
1003               schema:
1004                 $ref: '#/components/schemas/Void'
1005         201:
1006           description: Job created
1007           content:
1008             application/json:
1009               schema:
1010                 $ref: '#/components/schemas/Void'
1011         400:
1012           description: Input validation failed
1013           content:
1014             application/json:
1015               schema:
1016                 $ref: '#/components/schemas/ProblemDetails'
1017         404:
1018           description: Information type is not found
1019           content:
1020             application/json:
1021               schema:
1022                 $ref: '#/components/schemas/ProblemDetails'
1023         409:
1024           description: Cannot modify job type
1025           content:
1026             application/json:
1027               schema:
1028                 $ref: '#/components/schemas/ProblemDetails'
1029     delete:
1030       tags:
1031       - Data consumer
1032       summary: Individual data subscription job
1033       operationId: deleteIndividualEiJob
1034       parameters:
1035       - name: infoJobId
1036         in: path
1037         required: true
1038         style: simple
1039         explode: false
1040         schema:
1041           type: string
1042       responses:
1043         200:
1044           description: Not used
1045           content:
1046             application/json:
1047               schema:
1048                 $ref: '#/components/schemas/Void'
1049         204:
1050           description: Job deleted
1051           content:
1052             application/json:
1053               schema:
1054                 $ref: '#/components/schemas/Void'
1055         404:
1056           description: Information subscription job is not found
1057           content:
1058             application/json:
1059               schema:
1060                 $ref: '#/components/schemas/ProblemDetails'
1061   /data-producer/v1/info-producers:
1062     get:
1063       tags:
1064       - Data producer (registration)
1065       summary: Information producer identifiers
1066       operationId: getInfoProducerIdentifiers
1067       parameters:
1068       - name: info_type_id
1069         in: query
1070         description: If given, only the producers for the EI Data type is returned.
1071         required: false
1072         style: form
1073         explode: true
1074         schema:
1075           type: string
1076       responses:
1077         200:
1078           description: Information producer identifiers
1079           content:
1080             application/json:
1081               schema:
1082                 type: array
1083                 items:
1084                   type: string
1085   /data-consumer/v1/info-types/{infoTypeId}:
1086     get:
1087       tags:
1088       - Data consumer
1089       summary: Individual information type
1090       operationId: getInfoType_1
1091       parameters:
1092       - name: infoTypeId
1093         in: path
1094         required: true
1095         style: simple
1096         explode: false
1097         schema:
1098           type: string
1099       responses:
1100         200:
1101           description: Information type
1102           content:
1103             application/json:
1104               schema:
1105                 $ref: '#/components/schemas/consumer_information_type'
1106         404:
1107           description: Information type is not found
1108           content:
1109             application/json:
1110               schema:
1111                 $ref: '#/components/schemas/ProblemDetails'
1112   /actuator/health:
1113     get:
1114       tags:
1115       - Actuator
1116       summary: Actuator web endpoint 'health'
1117       operationId: health_2
1118       responses:
1119         200:
1120           description: OK
1121           content:
1122             '*/*':
1123               schema:
1124                 type: object
1125   /A1-EI/v1/eijobs:
1126     get:
1127       tags:
1128       - A1-EI (registration)
1129       summary: EI job identifiers
1130       description: query for EI job identifiers
1131       operationId: getEiJobIds
1132       parameters:
1133       - name: eiTypeId
1134         in: query
1135         description: selects EI jobs of matching EI type
1136         required: false
1137         style: form
1138         explode: true
1139         schema:
1140           type: string
1141       - name: owner
1142         in: query
1143         description: selects EI jobs for one EI job owner
1144         required: false
1145         style: form
1146         explode: true
1147         schema:
1148           type: string
1149       responses:
1150         200:
1151           description: EI job identifiers
1152           content:
1153             application/json:
1154               schema:
1155                 type: array
1156                 items:
1157                   type: string
1158         404:
1159           description: Enrichment Information type is not found
1160           content:
1161             application/json:
1162               schema:
1163                 $ref: '#/components/schemas/ProblemDetails'
1164   /data-producer/v1/info-producers/{infoProducerId}/info-jobs:
1165     get:
1166       tags:
1167       - Data producer (registration)
1168       summary: Information Job definitions
1169       description: Information Job definitions for one Information Producer
1170       operationId: getInfoProducerJobs
1171       parameters:
1172       - name: infoProducerId
1173         in: path
1174         required: true
1175         style: simple
1176         explode: false
1177         schema:
1178           type: string
1179       responses:
1180         200:
1181           description: Information producer
1182           content:
1183             application/json:
1184               schema:
1185                 type: array
1186                 items:
1187                   $ref: '#/components/schemas/producer_info_job_request'
1188         404:
1189           description: Information producer is not found
1190           content:
1191             application/json:
1192               schema:
1193                 $ref: '#/components/schemas/ProblemDetails'
1194   /example_dataconsumer/info_type_status:
1195     post:
1196       tags:
1197       - Data consumer (callbacks)
1198       summary: Callback for changed Information type registration status
1199       description: The primitive is implemented by the data consumer and is invoked
1200         when a Information type status has been changed. <br/>Subscription are managed
1201         by primitives in 'Data consumer'
1202       operationId: typeStatusCallback
1203       requestBody:
1204         content:
1205           application/json:
1206             schema:
1207               $ref: '#/components/schemas/consumer_type_registration_info'
1208         required: true
1209       responses:
1210         200:
1211           description: OK
1212           content:
1213             application/json:
1214               schema:
1215                 $ref: '#/components/schemas/Void'
1216   /actuator/heapdump:
1217     get:
1218       tags:
1219       - Actuator
1220       summary: Actuator web endpoint 'heapdump'
1221       operationId: heapdump_2
1222       responses:
1223         200:
1224           description: OK
1225           content:
1226             '*/*':
1227               schema:
1228                 type: object
1229 components:
1230   schemas:
1231     consumer_information_type:
1232       required:
1233       - job_data_schema
1234       - no_of_producers
1235       - type_status
1236       type: object
1237       properties:
1238         no_of_producers:
1239           type: integer
1240           description: The number of registered producers for the type
1241           format: int32
1242         type_status:
1243           type: string
1244           description: 'Allowed values: <br/>ENABLED: one or several producers for
1245             the information type are available <br/>DISABLED: no producers for the
1246             information type are available'
1247           enum:
1248           - ENABLED
1249           - DISABLED
1250         job_data_schema:
1251           type: object
1252           description: Json schema for the job data
1253       description: Information for an Information type
1254     EiTypeObject:
1255       type: object
1256       description: Information for an EI type
1257     service_status_info:
1258       required:
1259       - no_of_jobs
1260       - no_of_producers
1261       - no_of_types
1262       - status
1263       type: object
1264       properties:
1265         no_of_producers:
1266           type: integer
1267           description: Number of Information Producers
1268           format: int32
1269         no_of_types:
1270           type: integer
1271           description: Number of Information Types
1272           format: int32
1273         no_of_jobs:
1274           type: integer
1275           description: Number of Information Jobs
1276           format: int32
1277         status:
1278           type: string
1279           description: status text
1280     producer_registration_info:
1281       required:
1282       - info_job_callback_url
1283       - info_producer_supervision_callback_url
1284       - supported_info_types
1285       type: object
1286       properties:
1287         info_producer_supervision_callback_url:
1288           type: string
1289           description: callback for producer supervision
1290         supported_info_types:
1291           type: array
1292           description: Supported Information Type IDs
1293           items:
1294             type: string
1295             description: Supported Information Type IDs
1296         info_job_callback_url:
1297           type: string
1298           description: callback for Information Job
1299       description: Information for an Information Producer
1300     consumer_type_registration_info:
1301       required:
1302       - info_type_id
1303       - job_data_schema
1304       - status
1305       type: object
1306       properties:
1307         info_type_id:
1308           type: string
1309           description: Information type identifier
1310         job_data_schema:
1311           type: object
1312           description: Json schema for the job data
1313         status:
1314           type: string
1315           description: 'Allowed values: <br/>REGISTERED: the information type has
1316             been registered <br/>DEREGISTERED: the information type has been removed'
1317           enum:
1318           - REGISTERED
1319           - DEREGISTERED
1320       description: Information for an Information type
1321     ProblemDetails:
1322       type: object
1323       properties:
1324         detail:
1325           type: string
1326           description: A human-readable explanation specific to this occurrence of
1327             the problem.
1328           example: Information Job type not found
1329         status:
1330           type: integer
1331           description: The HTTP status code generated by the origin server for this
1332             occurrence of the problem.
1333           format: int32
1334           example: 404
1335       description: A problem detail to carry details in a HTTP response according
1336         to RFC 7807
1337     EiJobStatusObject:
1338       required:
1339       - eiJobStatus
1340       type: object
1341       properties:
1342         eiJobStatus:
1343           type: string
1344           description: 'Allowed values for EI job status: <br/>ENABLED: the A1-EI
1345             producer is able to deliver EI result for the EI job <br/>DISABLED: the
1346             A1-EI producer is unable to deliver EI result for the EI job'
1347           enum:
1348           - ENABLED
1349           - DISABLED
1350       description: Status for an EI job
1351     consumer_job_status:
1352       required:
1353       - info_job_status
1354       - producers
1355       type: object
1356       properties:
1357         info_job_status:
1358           type: string
1359           description: 'Allowed values: <br/>ENABLED: the A1-Information producer
1360             is able to deliver result for the Information Job <br/>DISABLED: the A1-Information
1361             producer is unable to deliver result for the Information Job'
1362           enum:
1363           - ENABLED
1364           - DISABLED
1365         producers:
1366           type: array
1367           description: An array of all registered Information Producer Identifiers.
1368           items:
1369             type: string
1370             description: An array of all registered Information Producer Identifiers.
1371       description: Status for an Information Job
1372     EiJobObject:
1373       required:
1374       - eiTypeId
1375       - jobDefinition
1376       - jobOwner
1377       - jobResultUri
1378       type: object
1379       properties:
1380         eiTypeId:
1381           type: string
1382           description: EI type Idenitifier of the EI job
1383         jobResultUri:
1384           type: string
1385           description: The target URI of the EI data
1386         jobOwner:
1387           type: string
1388           description: Identity of the owner of the job
1389         statusNotificationUri:
1390           type: string
1391           description: The target of EI job status notifications
1392         jobDefinition:
1393           type: object
1394           description: EI type specific job data
1395       description: Information for an Enrichment Information Job
1396     producer_info_type_info:
1397       required:
1398       - info_job_data_schema
1399       type: object
1400       properties:
1401         info_type_information:
1402           type: object
1403           description: Type specific information for the information type
1404         info_job_data_schema:
1405           type: object
1406           description: Json schema for the job data
1407       description: Information for an Information Type
1408     producer_info_job_request:
1409       required:
1410       - info_job_identity
1411       type: object
1412       properties:
1413         owner:
1414           type: string
1415           description: The owner of the job
1416         last_updated:
1417           type: string
1418           description: The time when the job was last updated or created (ISO-8601)
1419         info_job_identity:
1420           type: string
1421           description: Identity of the Information Job
1422         target_uri:
1423           type: string
1424           description: URI for the target of the produced Information
1425         info_job_data:
1426           type: object
1427           description: Json for the job data
1428         info_type_identity:
1429           type: string
1430           description: Type identity for the job
1431       description: The body of the Information Producer callbacks for Information
1432         Job creation and deletion
1433     consumer_job:
1434       required:
1435       - info_type_id
1436       - job_definition
1437       - job_owner
1438       - job_result_uri
1439       type: object
1440       properties:
1441         info_type_id:
1442           type: string
1443           description: Information type Idenitifier of the subscription job
1444         job_result_uri:
1445           type: string
1446           description: The target URI of the subscribed information
1447         job_owner:
1448           type: string
1449           description: Identity of the owner of the job
1450         job_definition:
1451           type: object
1452           description: Information type specific job data
1453         status_notification_uri:
1454           type: string
1455           description: The target of Information subscription job status notifications
1456       description: Information for an Information Job
1457     producer_status:
1458       required:
1459       - operational_state
1460       type: object
1461       properties:
1462         operational_state:
1463           type: string
1464           description: Represents the operational states
1465           enum:
1466           - ENABLED
1467           - DISABLED
1468       description: Status for an Info Producer
1469     Void:
1470       type: object
1471       description: 'Void/empty '
1472     Link:
1473       type: object
1474       properties:
1475         templated:
1476           type: boolean
1477         href:
1478           type: string
1479     consumer_type_subscription_info:
1480       required:
1481       - owner
1482       - status_result_uri
1483       type: object
1484       properties:
1485         owner:
1486           type: string
1487           description: Identity of the owner of the subscription
1488         status_result_uri:
1489           type: string
1490           description: The target URI of the subscribed information
1491       description: Information for an information type subscription