ECS, support for notification of available information types
[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: Bad request
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         406:
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         404:
433           description: Producer not found
434           content:
435             application/json:
436               schema:
437                 $ref: '#/components/schemas/ProblemDetails'
438     delete:
439       tags:
440       - Data producer (registration)
441       summary: Individual Information Producer
442       operationId: deleteInfoProducer
443       parameters:
444       - name: infoProducerId
445         in: path
446         required: true
447         style: simple
448         explode: false
449         schema:
450           type: string
451       responses:
452         200:
453           description: Not used
454           content:
455             application/json:
456               schema:
457                 $ref: '#/components/schemas/Void'
458         204:
459           description: Producer deleted
460           content:
461             application/json:
462               schema:
463                 $ref: '#/components/schemas/Void'
464         404:
465           description: Producer is not found
466           content:
467             application/json:
468               schema:
469                 $ref: '#/components/schemas/ProblemDetails'
470   /status:
471     get:
472       tags:
473       - Service status
474       summary: Returns status and statistics of this service
475       operationId: getStatus
476       responses:
477         200:
478           description: Service is living
479           content:
480             application/json:
481               schema:
482                 $ref: '#/components/schemas/service_status_info'
483   /data-consumer/v1/info-type-subscription:
484     get:
485       tags:
486       - Data consumer
487       summary: Information type subscription identifiers
488       description: query for information type subscription identifiers
489       operationId: getInfoTypeSubscriptions
490       parameters:
491       - name: owner
492         in: query
493         description: selects result for one owner
494         required: false
495         style: form
496         explode: true
497         schema:
498           type: string
499       responses:
500         200:
501           description: Information type subscription identifiers
502           content:
503             application/json:
504               schema:
505                 type: array
506                 items:
507                   type: string
508   /A1-EI/v1/eijobs/{eiJobId}:
509     get:
510       tags:
511       - A1-EI (registration)
512       summary: Individual EI job
513       operationId: getIndividualEiJob_1
514       parameters:
515       - name: eiJobId
516         in: path
517         required: true
518         style: simple
519         explode: false
520         schema:
521           type: string
522       responses:
523         200:
524           description: EI job
525           content:
526             application/json:
527               schema:
528                 $ref: '#/components/schemas/EiJobObject'
529         404:
530           description: Enrichment Information job is not found
531           content:
532             application/json:
533               schema:
534                 $ref: '#/components/schemas/ProblemDetails'
535     put:
536       tags:
537       - A1-EI (registration)
538       summary: Individual EI job
539       operationId: putIndividualEiJob
540       parameters:
541       - name: eiJobId
542         in: path
543         required: true
544         style: simple
545         explode: false
546         schema:
547           type: string
548       requestBody:
549         content:
550           application/json:
551             schema:
552               $ref: '#/components/schemas/EiJobObject'
553         required: true
554       responses:
555         200:
556           description: Job updated
557           content:
558             application/json:
559               schema:
560                 $ref: '#/components/schemas/Void'
561         201:
562           description: Job created
563           content:
564             application/json:
565               schema:
566                 $ref: '#/components/schemas/Void'
567         404:
568           description: Enrichment Information type is not found
569           content:
570             application/json:
571               schema:
572                 $ref: '#/components/schemas/ProblemDetails'
573     delete:
574       tags:
575       - A1-EI (registration)
576       summary: Individual EI job
577       operationId: deleteIndividualEiJob_1
578       parameters:
579       - name: eiJobId
580         in: path
581         required: true
582         style: simple
583         explode: false
584         schema:
585           type: string
586       responses:
587         200:
588           description: Not used
589           content:
590             application/json:
591               schema:
592                 $ref: '#/components/schemas/Void'
593         204:
594           description: Job deleted
595           content:
596             application/json:
597               schema:
598                 $ref: '#/components/schemas/Void'
599         404:
600           description: Enrichment Information job is not found
601           content:
602             application/json:
603               schema:
604                 $ref: '#/components/schemas/ProblemDetails'
605   /data-consumer/v1/info-jobs:
606     get:
607       tags:
608       - Data consumer
609       summary: Information Job identifiers
610       description: query for information job identifiers
611       operationId: getJobIds
612       parameters:
613       - name: infoTypeId
614         in: query
615         description: selects subscription jobs of matching information type
616         required: false
617         style: form
618         explode: true
619         schema:
620           type: string
621       - name: owner
622         in: query
623         description: selects result for one owner
624         required: false
625         style: form
626         explode: true
627         schema:
628           type: string
629       responses:
630         200:
631           description: Information information job identifiers
632           content:
633             application/json:
634               schema:
635                 type: array
636                 items:
637                   type: string
638         404:
639           description: Information type is not found
640           content:
641             application/json:
642               schema:
643                 $ref: '#/components/schemas/ProblemDetails'
644   /data-consumer/v1/info-jobs/{infoJobId}:
645     get:
646       tags:
647       - Data consumer
648       summary: Individual data subscription job
649       operationId: getIndividualEiJob
650       parameters:
651       - name: infoJobId
652         in: path
653         required: true
654         style: simple
655         explode: false
656         schema:
657           type: string
658       responses:
659         200:
660           description: Information subscription job
661           content:
662             application/json:
663               schema:
664                 $ref: '#/components/schemas/consumer_job'
665         404:
666           description: Information subscription job is not found
667           content:
668             application/json:
669               schema:
670                 $ref: '#/components/schemas/ProblemDetails'
671     put:
672       tags:
673       - Data consumer
674       summary: Individual data subscription job
675       description: The job will be enabled when a producer is available
676       operationId: putIndividualInfoJob
677       parameters:
678       - name: infoJobId
679         in: path
680         required: true
681         style: simple
682         explode: false
683         schema:
684           type: string
685       - name: typeCheck
686         in: query
687         description: when true, a validation of that the type exists and that the
688           job matches the type schema.
689         required: false
690         style: form
691         explode: true
692         schema:
693           type: boolean
694           default: false
695       requestBody:
696         content:
697           application/json:
698             schema:
699               $ref: '#/components/schemas/consumer_job'
700         required: true
701       responses:
702         200:
703           description: Job updated
704           content:
705             application/json:
706               schema:
707                 $ref: '#/components/schemas/Void'
708         201:
709           description: Job created
710           content:
711             application/json:
712               schema:
713                 $ref: '#/components/schemas/Void'
714         404:
715           description: Information type is not found
716           content:
717             application/json:
718               schema:
719                 $ref: '#/components/schemas/ProblemDetails'
720     delete:
721       tags:
722       - Data consumer
723       summary: Individual data subscription job
724       operationId: deleteIndividualEiJob
725       parameters:
726       - name: infoJobId
727         in: path
728         required: true
729         style: simple
730         explode: false
731         schema:
732           type: string
733       responses:
734         200:
735           description: Not used
736           content:
737             application/json:
738               schema:
739                 $ref: '#/components/schemas/Void'
740         204:
741           description: Job deleted
742           content:
743             application/json:
744               schema:
745                 $ref: '#/components/schemas/Void'
746         404:
747           description: Information subscription job is not found
748           content:
749             application/json:
750               schema:
751                 $ref: '#/components/schemas/ProblemDetails'
752   /data-producer/v1/info-producers:
753     get:
754       tags:
755       - Data producer (registration)
756       summary: Information producer identifiers
757       operationId: getInfoProducerIdentifiers
758       parameters:
759       - name: info_type_id
760         in: query
761         description: If given, only the producers for the EI Data type is returned.
762         required: false
763         style: form
764         explode: true
765         schema:
766           type: string
767       responses:
768         200:
769           description: Information producer identifiers
770           content:
771             application/json:
772               schema:
773                 type: array
774                 items:
775                   type: string
776   /data-consumer/v1/info-types/{infoTypeId}:
777     get:
778       tags:
779       - Data consumer
780       summary: Individual information type
781       operationId: getInfoType_1
782       parameters:
783       - name: infoTypeId
784         in: path
785         required: true
786         style: simple
787         explode: false
788         schema:
789           type: string
790       responses:
791         200:
792           description: Information type
793           content:
794             application/json:
795               schema:
796                 $ref: '#/components/schemas/consumer_information_type'
797         404:
798           description: Information type is not found
799           content:
800             application/json:
801               schema:
802                 $ref: '#/components/schemas/ProblemDetails'
803   /example_dataconsumer/info_jobs/{infoJobId}/status:
804     post:
805       tags:
806       - A1-EI (callbacks)
807       summary: Callback for changed Information Job status
808       description: The primitive is implemented by the data consumer and is invoked
809         when a Information Job status has been changed.
810       operationId: jobStatusCallback
811       parameters:
812       - name: infoJobId
813         in: path
814         required: true
815         style: simple
816         explode: false
817         schema:
818           type: string
819       requestBody:
820         content:
821           application/json:
822             schema:
823               $ref: '#/components/schemas/EiJobStatusObject'
824         required: true
825       responses:
826         200:
827           description: OK
828           content:
829             application/json:
830               schema:
831                 $ref: '#/components/schemas/Void'
832   /A1-EI/v1/eijobs:
833     get:
834       tags:
835       - A1-EI (registration)
836       summary: EI job identifiers
837       description: query for EI job identifiers
838       operationId: getEiJobIds
839       parameters:
840       - name: eiTypeId
841         in: query
842         description: selects EI jobs of matching EI type
843         required: false
844         style: form
845         explode: true
846         schema:
847           type: string
848       - name: owner
849         in: query
850         description: selects EI jobs for one EI job owner
851         required: false
852         style: form
853         explode: true
854         schema:
855           type: string
856       responses:
857         200:
858           description: EI job identifiers
859           content:
860             application/json:
861               schema:
862                 type: array
863                 items:
864                   type: string
865         404:
866           description: Enrichment Information type is not found
867           content:
868             application/json:
869               schema:
870                 $ref: '#/components/schemas/ProblemDetails'
871   /A1-EI/v1/eijobs/{eiJobId}/status:
872     get:
873       tags:
874       - A1-EI (registration)
875       summary: EI job status
876       operationId: getEiJobStatus_1
877       parameters:
878       - name: eiJobId
879         in: path
880         required: true
881         style: simple
882         explode: false
883         schema:
884           type: string
885       responses:
886         200:
887           description: EI job status
888           content:
889             application/json:
890               schema:
891                 $ref: '#/components/schemas/EiJobStatusObject'
892         404:
893           description: Enrichment Information job is not found
894           content:
895             application/json:
896               schema:
897                 $ref: '#/components/schemas/ProblemDetails'
898   /data-producer/v1/info-producers/{infoProducerId}/status:
899     get:
900       tags:
901       - Data producer (registration)
902       summary: Information producer status
903       operationId: getInfoProducerStatus
904       parameters:
905       - name: infoProducerId
906         in: path
907         required: true
908         style: simple
909         explode: false
910         schema:
911           type: string
912       responses:
913         200:
914           description: Information producer status
915           content:
916             application/json:
917               schema:
918                 $ref: '#/components/schemas/producer_status'
919         404:
920           description: Information producer is not found
921           content:
922             application/json:
923               schema:
924                 $ref: '#/components/schemas/ProblemDetails'
925   /data-producer/v1/info-producers/{infoProducerId}/info-jobs:
926     get:
927       tags:
928       - Data producer (registration)
929       summary: Information Job definitions
930       description: Information Job definitions for one Information Producer
931       operationId: getInfoProducerJobs
932       parameters:
933       - name: infoProducerId
934         in: path
935         required: true
936         style: simple
937         explode: false
938         schema:
939           type: string
940       responses:
941         200:
942           description: Information producer
943           content:
944             application/json:
945               schema:
946                 type: array
947                 items:
948                   $ref: '#/components/schemas/producer_info_job_request'
949         404:
950           description: Information producer is not found
951           content:
952             application/json:
953               schema:
954                 $ref: '#/components/schemas/ProblemDetails'
955   /data-consumer/v1/info-jobs/{infoJobId}/status:
956     get:
957       tags:
958       - Data consumer
959       summary: Job status
960       operationId: getEiJobStatus
961       parameters:
962       - name: infoJobId
963         in: path
964         required: true
965         style: simple
966         explode: false
967         schema:
968           type: string
969       responses:
970         200:
971           description: Information subscription job status
972           content:
973             application/json:
974               schema:
975                 $ref: '#/components/schemas/consumer_job_status'
976         404:
977           description: Information subscription job is not found
978           content:
979             application/json:
980               schema:
981                 $ref: '#/components/schemas/ProblemDetails'
982   /example_dataconsumer/info_type_status:
983     post:
984       tags:
985       - Data consumer (callbacks)
986       summary: Callback for changed Information type registration status
987       description: The primitive is implemented by the data consumer and is invoked
988         when a Information type status has been changed. <br/>Subscription are managed
989         by primitives in 'Data consumer'
990       operationId: typeStatusCallback
991       requestBody:
992         content:
993           application/json:
994             schema:
995               $ref: '#/components/schemas/consumer_type_registration_info'
996         required: true
997       responses:
998         200:
999           description: OK
1000           content:
1001             application/json:
1002               schema:
1003                 $ref: '#/components/schemas/Void'
1004 components:
1005   schemas:
1006     consumer_information_type:
1007       required:
1008       - job_data_schema
1009       - no_of_producers
1010       - type_status
1011       type: object
1012       properties:
1013         no_of_producers:
1014           type: integer
1015           description: The number of registered producers for the type
1016           format: int32
1017         type_status:
1018           type: string
1019           description: 'Allowed values: <br/>ENABLED: one or several producers for
1020             the information type are available <br/>DISABLED: no producers for the
1021             information type are available'
1022           enum:
1023           - ENABLED
1024           - DISABLED
1025         job_data_schema:
1026           type: object
1027           description: Json schema for the job data
1028       description: Information for an Information type
1029     EiTypeObject:
1030       type: object
1031       description: Information for an EI type
1032     service_status_info:
1033       required:
1034       - no_of_jobs
1035       - no_of_producers
1036       - no_of_types
1037       - status
1038       type: object
1039       properties:
1040         no_of_producers:
1041           type: integer
1042           description: Number of Information Producers
1043           format: int32
1044         no_of_types:
1045           type: integer
1046           description: Number of Information Types
1047           format: int32
1048         no_of_jobs:
1049           type: integer
1050           description: Number of Information Jobs
1051           format: int32
1052         status:
1053           type: string
1054           description: status text
1055     producer_registration_info:
1056       required:
1057       - info_job_callback_url
1058       - info_producer_supervision_callback_url
1059       - supported_info_types
1060       type: object
1061       properties:
1062         info_producer_supervision_callback_url:
1063           type: string
1064           description: callback for producer supervision
1065         supported_info_types:
1066           type: array
1067           description: Supported Information Type IDs
1068           items:
1069             type: string
1070             description: Supported Information Type IDs
1071         info_job_callback_url:
1072           type: string
1073           description: callback for Information Job
1074       description: Information for an Information Producer
1075     consumer_type_registration_info:
1076       required:
1077       - info_type_id
1078       - job_data_schema
1079       - status
1080       type: object
1081       properties:
1082         info_type_id:
1083           type: string
1084           description: Information type identifier
1085         job_data_schema:
1086           type: object
1087           description: Json schema for the job data
1088         status:
1089           type: string
1090           description: 'Allowed values: <br/>REGISTERED: the information type has
1091             been registered <br/>DEREGISTERED: the information type has been removed'
1092           enum:
1093           - REGISTERED
1094           - DEREGISTERED
1095       description: Information for an Information type
1096     ProblemDetails:
1097       type: object
1098       properties:
1099         detail:
1100           type: string
1101           description: A human-readable explanation specific to this occurrence of
1102             the problem.
1103           example: Information Job type not found
1104         status:
1105           type: integer
1106           description: The HTTP status code generated by the origin server for this
1107             occurrence of the problem.
1108           format: int32
1109           example: 404
1110       description: A problem detail to carry details in a HTTP response according
1111         to RFC 7807
1112     EiJobStatusObject:
1113       required:
1114       - eiJobStatus
1115       type: object
1116       properties:
1117         eiJobStatus:
1118           type: string
1119           description: 'Allowed values for EI job status: <br/>ENABLED: the A1-EI
1120             producer is able to deliver EI result for the EI job <br/>DISABLED: the
1121             A1-EI producer is unable to deliver EI result for the EI job'
1122           enum:
1123           - ENABLED
1124           - DISABLED
1125       description: Status for an EI job
1126     consumer_job_status:
1127       required:
1128       - info_job_status
1129       - producers
1130       type: object
1131       properties:
1132         info_job_status:
1133           type: string
1134           description: 'Allowed values: <br/>ENABLED: the A1-Information producer
1135             is able to deliver result for the Information Job <br/>DISABLED: the A1-Information
1136             producer is unable to deliver result for the Information Job'
1137           enum:
1138           - ENABLED
1139           - DISABLED
1140         producers:
1141           type: array
1142           description: An array of all registered Information Producer Identifiers.
1143           items:
1144             type: string
1145             description: An array of all registered Information Producer Identifiers.
1146       description: Status for an Information Job
1147     EiJobObject:
1148       required:
1149       - eiTypeId
1150       - jobDefinition
1151       - jobOwner
1152       - jobResultUri
1153       type: object
1154       properties:
1155         eiTypeId:
1156           type: string
1157           description: EI type Idenitifier of the EI job
1158         jobResultUri:
1159           type: string
1160           description: The target URI of the EI data
1161         jobOwner:
1162           type: string
1163           description: Identity of the owner of the job
1164         statusNotificationUri:
1165           type: string
1166           description: The target of EI job status notifications
1167         jobDefinition:
1168           type: object
1169           description: EI type specific job data
1170       description: Information for an Enrichment Information Job
1171     producer_info_type_info:
1172       required:
1173       - info_job_data_schema
1174       type: object
1175       properties:
1176         info_job_data_schema:
1177           type: object
1178           description: Json schema for the job data
1179       description: Information for an Information Type
1180     producer_info_job_request:
1181       required:
1182       - info_job_identity
1183       type: object
1184       properties:
1185         owner:
1186           type: string
1187           description: The owner of the job
1188         last_updated:
1189           type: string
1190           description: The time when the job was last updated or created (ISO-8601)
1191         info_job_identity:
1192           type: string
1193           description: Identity of the Information Job
1194         target_uri:
1195           type: string
1196           description: URI for the target of the produced Information
1197         info_job_data:
1198           type: object
1199           description: Json for the job data
1200         info_type_identity:
1201           type: string
1202           description: Type identity for the job
1203       description: The body of the Information Producer callbacks for Information
1204         Job creation and deletion
1205     consumer_job:
1206       required:
1207       - info_type_id
1208       - job_definition
1209       - job_owner
1210       - job_result_uri
1211       type: object
1212       properties:
1213         info_type_id:
1214           type: string
1215           description: Information type Idenitifier of the subscription job
1216         job_result_uri:
1217           type: string
1218           description: The target URI of the subscribed information
1219         job_owner:
1220           type: string
1221           description: Identity of the owner of the job
1222         job_definition:
1223           type: object
1224           description: Information type specific job data
1225         status_notification_uri:
1226           type: string
1227           description: The target of Information subscription job status notifications
1228       description: Information for an Enrichment Information Job
1229     producer_status:
1230       required:
1231       - operational_state
1232       type: object
1233       properties:
1234         operational_state:
1235           type: string
1236           description: Represents the operational states
1237           enum:
1238           - ENABLED
1239           - DISABLED
1240       description: Status for an Info Producer
1241     Void:
1242       type: object
1243       description: 'Void/empty '
1244     consumer_type_subscription_info:
1245       required:
1246       - owner
1247       - status_result_uri
1248       type: object
1249       properties:
1250         owner:
1251           type: string
1252           description: Identity of the owner of the subscription
1253         status_result_uri:
1254           type: string
1255           description: The target URI of the subscribed information
1256       description: Information for an information type subscription