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>
27 name: Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License.
28 url: http://www.apache.org/licenses/LICENSE-2.0
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
44 description: API for data consumers
46 /example_dataproducer/info_job/{infoJobId}:
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
68 $ref: '#/components/schemas/Void'
69 /data-producer/v1/info-types:
72 - Data producer (registration)
73 summary: Info Type identifiers
74 operationId: getInfoTypdentifiers
77 description: Info Type identifiers
84 /A1-EI/v1/eitypes/{eiTypeId}:
87 - A1-EI (registration)
88 summary: Individual EI type
89 operationId: getEiType
104 $ref: '#/components/schemas/EiTypeObject'
106 description: Enrichment Information type is not found
110 $ref: '#/components/schemas/ProblemDetails'
111 /example_dataproducer/info_job:
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
123 $ref: '#/components/schemas/producer_info_job_request'
131 $ref: '#/components/schemas/Void'
132 /data-producer/v1/info-types/{infoTypeId}:
135 - Data producer (registration)
136 summary: Individual Information Type
137 operationId: getInfoType
148 description: Info Type
152 $ref: '#/components/schemas/producer_info_type_info'
154 description: Information type is not found
158 $ref: '#/components/schemas/ProblemDetails'
161 - Data producer (registration)
162 summary: Individual Information Type
163 operationId: putInfoType
176 $ref: '#/components/schemas/producer_info_type_info'
180 description: Type updated
184 $ref: '#/components/schemas/Void'
186 description: Type created
190 $ref: '#/components/schemas/Void'
192 description: Bad request
196 $ref: '#/components/schemas/ProblemDetails'
199 - Data producer (registration)
200 summary: Individual Information Type
201 operationId: deleteInfoType
212 description: Not used
216 $ref: '#/components/schemas/Void'
218 description: Producer deleted
222 $ref: '#/components/schemas/Void'
224 description: Information type is not found
228 $ref: '#/components/schemas/ProblemDetails'
230 description: The Information type has one or several active producers
234 $ref: '#/components/schemas/ProblemDetails'
235 /data-consumer/v1/info-type-subscription/{subscriptionId}:
239 summary: Individual subscription for information types (registration/deregistration)
240 operationId: getIndividualTypeSubscription
242 - name: subscriptionId
251 description: Type subscription
255 $ref: '#/components/schemas/consumer_type_subscription_info'
257 description: Subscription is not found
261 $ref: '#/components/schemas/ProblemDetails'
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
270 - name: subscriptionId
281 $ref: '#/components/schemas/consumer_type_subscription_info'
285 description: Subscription updated
289 $ref: '#/components/schemas/Void'
291 description: Subscription created
295 $ref: '#/components/schemas/Void'
299 summary: Individual subscription for information types (registration/deregistration)
300 operationId: deleteIndividualTypeSubscription
302 - name: subscriptionId
311 description: Not used
315 $ref: '#/components/schemas/Void'
317 description: Subscription deleted
321 $ref: '#/components/schemas/Void'
323 description: Subscription is not found
327 $ref: '#/components/schemas/ProblemDetails'
328 /example_dataproducer/health_check:
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
338 description: The producer is OK
346 - A1-EI (registration)
347 summary: EI type identifiers
348 operationId: getEiTypeIdentifiers
351 description: EI type identifiers
358 /data-consumer/v1/info-types:
362 summary: Information type identifiers
363 operationId: getinfoTypeIdentifiers
366 description: Information type identifiers
373 /data-producer/v1/info-producers/{infoProducerId}:
376 - Data producer (registration)
377 summary: Individual Information Producer
378 operationId: getInfoProducer
380 - name: infoProducerId
389 description: Information producer
393 $ref: '#/components/schemas/producer_registration_info'
395 description: Information producer is not found
399 $ref: '#/components/schemas/ProblemDetails'
402 - Data producer (registration)
403 summary: Individual Information Producer
404 operationId: putInfoProducer
406 - name: infoProducerId
417 $ref: '#/components/schemas/producer_registration_info'
421 description: Producer updated
425 $ref: '#/components/schemas/Void'
427 description: Producer created
431 $ref: '#/components/schemas/Void'
433 description: Producer not found
437 $ref: '#/components/schemas/ProblemDetails'
440 - Data producer (registration)
441 summary: Individual Information Producer
442 operationId: deleteInfoProducer
444 - name: infoProducerId
453 description: Not used
457 $ref: '#/components/schemas/Void'
459 description: Producer deleted
463 $ref: '#/components/schemas/Void'
465 description: Producer is not found
469 $ref: '#/components/schemas/ProblemDetails'
474 summary: Returns status and statistics of this service
475 operationId: getStatus
478 description: Service is living
482 $ref: '#/components/schemas/service_status_info'
483 /data-consumer/v1/info-type-subscription:
487 summary: Information type subscription identifiers
488 description: query for information type subscription identifiers
489 operationId: getInfoTypeSubscriptions
493 description: selects result for one owner
501 description: Information type subscription identifiers
508 /A1-EI/v1/eijobs/{eiJobId}:
511 - A1-EI (registration)
512 summary: Individual EI job
513 operationId: getIndividualEiJob_1
528 $ref: '#/components/schemas/EiJobObject'
530 description: Enrichment Information job is not found
534 $ref: '#/components/schemas/ProblemDetails'
537 - A1-EI (registration)
538 summary: Individual EI job
539 operationId: putIndividualEiJob
552 $ref: '#/components/schemas/EiJobObject'
556 description: Job updated
560 $ref: '#/components/schemas/Void'
562 description: Job created
566 $ref: '#/components/schemas/Void'
568 description: Enrichment Information type is not found
572 $ref: '#/components/schemas/ProblemDetails'
575 - A1-EI (registration)
576 summary: Individual EI job
577 operationId: deleteIndividualEiJob_1
588 description: Not used
592 $ref: '#/components/schemas/Void'
594 description: Job deleted
598 $ref: '#/components/schemas/Void'
600 description: Enrichment Information job is not found
604 $ref: '#/components/schemas/ProblemDetails'
605 /data-consumer/v1/info-jobs:
609 summary: Information Job identifiers
610 description: query for information job identifiers
611 operationId: getJobIds
615 description: selects subscription jobs of matching information type
623 description: selects result for one owner
631 description: Information information job identifiers
639 description: Information type is not found
643 $ref: '#/components/schemas/ProblemDetails'
644 /data-consumer/v1/info-jobs/{infoJobId}:
648 summary: Individual data subscription job
649 operationId: getIndividualEiJob
660 description: Information subscription job
664 $ref: '#/components/schemas/consumer_job'
666 description: Information subscription job is not found
670 $ref: '#/components/schemas/ProblemDetails'
674 summary: Individual data subscription job
675 description: The job will be enabled when a producer is available
676 operationId: putIndividualInfoJob
687 description: when true, a validation of that the type exists and that the
688 job matches the type schema.
699 $ref: '#/components/schemas/consumer_job'
703 description: Job updated
707 $ref: '#/components/schemas/Void'
709 description: Job created
713 $ref: '#/components/schemas/Void'
715 description: Information type is not found
719 $ref: '#/components/schemas/ProblemDetails'
723 summary: Individual data subscription job
724 operationId: deleteIndividualEiJob
735 description: Not used
739 $ref: '#/components/schemas/Void'
741 description: Job deleted
745 $ref: '#/components/schemas/Void'
747 description: Information subscription job is not found
751 $ref: '#/components/schemas/ProblemDetails'
752 /data-producer/v1/info-producers:
755 - Data producer (registration)
756 summary: Information producer identifiers
757 operationId: getInfoProducerIdentifiers
761 description: If given, only the producers for the EI Data type is returned.
769 description: Information producer identifiers
776 /data-consumer/v1/info-types/{infoTypeId}:
780 summary: Individual information type
781 operationId: getInfoType_1
792 description: Information type
796 $ref: '#/components/schemas/consumer_information_type'
798 description: Information type is not found
802 $ref: '#/components/schemas/ProblemDetails'
803 /example_dataconsumer/info_jobs/{infoJobId}/status:
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
823 $ref: '#/components/schemas/EiJobStatusObject'
831 $ref: '#/components/schemas/Void'
835 - A1-EI (registration)
836 summary: EI job identifiers
837 description: query for EI job identifiers
838 operationId: getEiJobIds
842 description: selects EI jobs of matching EI type
850 description: selects EI jobs for one EI job owner
858 description: EI job identifiers
866 description: Enrichment Information type is not found
870 $ref: '#/components/schemas/ProblemDetails'
871 /A1-EI/v1/eijobs/{eiJobId}/status:
874 - A1-EI (registration)
875 summary: EI job status
876 operationId: getEiJobStatus_1
887 description: EI job status
891 $ref: '#/components/schemas/EiJobStatusObject'
893 description: Enrichment Information job is not found
897 $ref: '#/components/schemas/ProblemDetails'
898 /data-producer/v1/info-producers/{infoProducerId}/status:
901 - Data producer (registration)
902 summary: Information producer status
903 operationId: getInfoProducerStatus
905 - name: infoProducerId
914 description: Information producer status
918 $ref: '#/components/schemas/producer_status'
920 description: Information producer is not found
924 $ref: '#/components/schemas/ProblemDetails'
925 /data-producer/v1/info-producers/{infoProducerId}/info-jobs:
928 - Data producer (registration)
929 summary: Information Job definitions
930 description: Information Job definitions for one Information Producer
931 operationId: getInfoProducerJobs
933 - name: infoProducerId
942 description: Information producer
948 $ref: '#/components/schemas/producer_info_job_request'
950 description: Information producer is not found
954 $ref: '#/components/schemas/ProblemDetails'
955 /data-consumer/v1/info-jobs/{infoJobId}/status:
960 operationId: getEiJobStatus
971 description: Information subscription job status
975 $ref: '#/components/schemas/consumer_job_status'
977 description: Information subscription job is not found
981 $ref: '#/components/schemas/ProblemDetails'
982 /example_dataconsumer/info_type_status:
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
995 $ref: '#/components/schemas/consumer_type_registration_info'
1003 $ref: '#/components/schemas/Void'
1006 consumer_information_type:
1015 description: The number of registered producers for the type
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'
1027 description: Json schema for the job data
1028 description: Information for an Information type
1031 description: Information for an EI type
1032 service_status_info:
1042 description: Number of Information Producers
1046 description: Number of Information Types
1050 description: Number of Information Jobs
1054 description: status text
1055 producer_registration_info:
1057 - info_job_callback_url
1058 - info_producer_supervision_callback_url
1059 - supported_info_types
1062 info_producer_supervision_callback_url:
1064 description: callback for producer supervision
1065 supported_info_types:
1067 description: Supported Information Type IDs
1070 description: Supported Information Type IDs
1071 info_job_callback_url:
1073 description: callback for Information Job
1074 description: Information for an Information Producer
1075 consumer_type_registration_info:
1084 description: Information type identifier
1087 description: Json schema for the job data
1090 description: 'Allowed values: <br/>REGISTERED: the information type has
1091 been registered <br/>DEREGISTERED: the information type has been removed'
1095 description: Information for an Information type
1101 description: A human-readable explanation specific to this occurrence of
1103 example: Information Job type not found
1106 description: The HTTP status code generated by the origin server for this
1107 occurrence of the problem.
1110 description: A problem detail to carry details in a HTTP response according
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'
1125 description: Status for an EI job
1126 consumer_job_status:
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'
1142 description: An array of all registered Information Producer Identifiers.
1145 description: An array of all registered Information Producer Identifiers.
1146 description: Status for an Information Job
1157 description: EI type Idenitifier of the EI job
1160 description: The target URI of the EI data
1163 description: Identity of the owner of the job
1164 statusNotificationUri:
1166 description: The target of EI job status notifications
1169 description: EI type specific job data
1170 description: Information for an Enrichment Information Job
1171 producer_info_type_info:
1173 - info_job_data_schema
1174 - info_type_information
1177 info_type_information:
1179 description: Type specific information for the information type
1180 info_job_data_schema:
1182 description: Json schema for the job data
1183 description: Information for an Information Type
1184 producer_info_job_request:
1191 description: The owner of the job
1194 description: The time when the job was last updated or created (ISO-8601)
1197 description: Identity of the Information Job
1200 description: URI for the target of the produced Information
1203 description: Json for the job data
1206 description: Type identity for the job
1207 description: The body of the Information Producer callbacks for Information
1208 Job creation and deletion
1219 description: Information type Idenitifier of the subscription job
1222 description: The target URI of the subscribed information
1225 description: Identity of the owner of the job
1228 description: Information type specific job data
1229 status_notification_uri:
1231 description: The target of Information subscription job status notifications
1232 description: Information for an Enrichment Information Job
1240 description: Represents the operational states
1244 description: Status for an Info Producer
1247 description: 'Void/empty '
1248 consumer_type_subscription_info:
1256 description: Identity of the owner of the subscription
1259 description: The target URI of the subscribed information
1260 description: Information for an information type subscription