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