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: Input validation failed
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: Input validation failed
437 $ref: '#/components/schemas/ProblemDetails'
439 description: Producer type not found
443 $ref: '#/components/schemas/ProblemDetails'
446 - Data producer (registration)
447 summary: Individual Information Producer
448 operationId: deleteInfoProducer
450 - name: infoProducerId
459 description: Not used
463 $ref: '#/components/schemas/Void'
465 description: Producer deleted
469 $ref: '#/components/schemas/Void'
471 description: Producer is not found
475 $ref: '#/components/schemas/ProblemDetails'
480 summary: Returns status and statistics of this service
481 operationId: getStatus
484 description: Service is living
488 $ref: '#/components/schemas/service_status_info'
489 /data-consumer/v1/info-type-subscription:
493 summary: Information type subscription identifiers
494 description: query for information type subscription identifiers
495 operationId: getInfoTypeSubscriptions
499 description: selects result for one owner
507 description: Information type subscription identifiers
514 /A1-EI/v1/eijobs/{eiJobId}:
517 - A1-EI (registration)
518 summary: Individual EI job
519 operationId: getIndividualEiJob_1
534 $ref: '#/components/schemas/EiJobObject'
536 description: Enrichment Information job is not found
540 $ref: '#/components/schemas/ProblemDetails'
543 - A1-EI (registration)
544 summary: Individual EI job
545 operationId: putIndividualEiJob
558 $ref: '#/components/schemas/EiJobObject'
562 description: Job updated
566 $ref: '#/components/schemas/Void'
568 description: Job created
572 $ref: '#/components/schemas/Void'
574 description: Input validation failed
578 $ref: '#/components/schemas/ProblemDetails'
580 description: Enrichment Information type is not found
584 $ref: '#/components/schemas/ProblemDetails'
586 description: Cannot modify job type
590 $ref: '#/components/schemas/ProblemDetails'
593 - A1-EI (registration)
594 summary: Individual EI job
595 operationId: deleteIndividualEiJob_1
606 description: Not used
610 $ref: '#/components/schemas/Void'
612 description: Job deleted
616 $ref: '#/components/schemas/Void'
618 description: Enrichment Information job is not found
622 $ref: '#/components/schemas/ProblemDetails'
623 /data-consumer/v1/info-jobs:
627 summary: Information Job identifiers
628 description: query for information job identifiers
629 operationId: getJobIds
633 description: selects subscription jobs of matching information type
641 description: selects result for one owner
649 description: Information information job identifiers
657 description: Information type is not found
661 $ref: '#/components/schemas/ProblemDetails'
662 /data-consumer/v1/info-jobs/{infoJobId}:
666 summary: Individual data subscription job
667 operationId: getIndividualEiJob
678 description: Information subscription job
682 $ref: '#/components/schemas/consumer_job'
684 description: Information subscription job is not found
688 $ref: '#/components/schemas/ProblemDetails'
692 summary: Individual data subscription job
693 description: The job will be enabled when a producer is available
694 operationId: putIndividualInfoJob
705 description: when true, a validation of that the type exists and that the
706 job matches the type schema.
717 $ref: '#/components/schemas/consumer_job'
721 description: Job updated
725 $ref: '#/components/schemas/Void'
727 description: Job created
731 $ref: '#/components/schemas/Void'
733 description: Input validation failed
737 $ref: '#/components/schemas/ProblemDetails'
739 description: Information type is not found
743 $ref: '#/components/schemas/ProblemDetails'
745 description: Cannot modify job type
749 $ref: '#/components/schemas/ProblemDetails'
753 summary: Individual data subscription job
754 operationId: deleteIndividualEiJob
765 description: Not used
769 $ref: '#/components/schemas/Void'
771 description: Job deleted
775 $ref: '#/components/schemas/Void'
777 description: Information subscription job is not found
781 $ref: '#/components/schemas/ProblemDetails'
782 /data-producer/v1/info-producers:
785 - Data producer (registration)
786 summary: Information producer identifiers
787 operationId: getInfoProducerIdentifiers
791 description: If given, only the producers for the EI Data type is returned.
799 description: Information producer identifiers
806 /data-consumer/v1/info-types/{infoTypeId}:
810 summary: Individual information type
811 operationId: getInfoType_1
822 description: Information type
826 $ref: '#/components/schemas/consumer_information_type'
828 description: Information type is not found
832 $ref: '#/components/schemas/ProblemDetails'
833 /example_dataconsumer/info_jobs/{infoJobId}/status:
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
853 $ref: '#/components/schemas/EiJobStatusObject'
861 $ref: '#/components/schemas/Void'
865 - A1-EI (registration)
866 summary: EI job identifiers
867 description: query for EI job identifiers
868 operationId: getEiJobIds
872 description: selects EI jobs of matching EI type
880 description: selects EI jobs for one EI job owner
888 description: EI job identifiers
896 description: Enrichment Information type is not found
900 $ref: '#/components/schemas/ProblemDetails'
901 /A1-EI/v1/eijobs/{eiJobId}/status:
904 - A1-EI (registration)
905 summary: EI job status
906 operationId: getEiJobStatus_1
917 description: EI job status
921 $ref: '#/components/schemas/EiJobStatusObject'
923 description: Enrichment Information job is not found
927 $ref: '#/components/schemas/ProblemDetails'
928 /data-producer/v1/info-producers/{infoProducerId}/status:
931 - Data producer (registration)
932 summary: Information producer status
933 operationId: getInfoProducerStatus
935 - name: infoProducerId
944 description: Information producer status
948 $ref: '#/components/schemas/producer_status'
950 description: Information producer is not found
954 $ref: '#/components/schemas/ProblemDetails'
955 /data-producer/v1/info-producers/{infoProducerId}/info-jobs:
958 - Data producer (registration)
959 summary: Information Job definitions
960 description: Information Job definitions for one Information Producer
961 operationId: getInfoProducerJobs
963 - name: infoProducerId
972 description: Information producer
978 $ref: '#/components/schemas/producer_info_job_request'
980 description: Information producer is not found
984 $ref: '#/components/schemas/ProblemDetails'
985 /data-consumer/v1/info-jobs/{infoJobId}/status:
990 operationId: getEiJobStatus
1001 description: Information subscription job status
1005 $ref: '#/components/schemas/consumer_job_status'
1007 description: Information subscription job is not found
1011 $ref: '#/components/schemas/ProblemDetails'
1012 /example_dataconsumer/info_type_status:
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
1025 $ref: '#/components/schemas/consumer_type_registration_info'
1033 $ref: '#/components/schemas/Void'
1036 consumer_information_type:
1045 description: The number of registered producers for the type
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'
1057 description: Json schema for the job data
1058 description: Information for an Information type
1061 description: Information for an EI type
1062 service_status_info:
1072 description: Number of Information Producers
1076 description: Number of Information Types
1080 description: Number of Information Jobs
1084 description: status text
1085 producer_registration_info:
1087 - info_job_callback_url
1088 - info_producer_supervision_callback_url
1089 - supported_info_types
1092 info_producer_supervision_callback_url:
1094 description: callback for producer supervision
1095 supported_info_types:
1097 description: Supported Information Type IDs
1100 description: Supported Information Type IDs
1101 info_job_callback_url:
1103 description: callback for Information Job
1104 description: Information for an Information Producer
1105 consumer_type_registration_info:
1114 description: Information type identifier
1117 description: Json schema for the job data
1120 description: 'Allowed values: <br/>REGISTERED: the information type has
1121 been registered <br/>DEREGISTERED: the information type has been removed'
1125 description: Information for an Information type
1131 description: A human-readable explanation specific to this occurrence of
1133 example: Information Job type not found
1136 description: The HTTP status code generated by the origin server for this
1137 occurrence of the problem.
1140 description: A problem detail to carry details in a HTTP response according
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'
1155 description: Status for an EI job
1156 consumer_job_status:
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'
1172 description: An array of all registered Information Producer Identifiers.
1175 description: An array of all registered Information Producer Identifiers.
1176 description: Status for an Information Job
1187 description: EI type Idenitifier of the EI job
1190 description: The target URI of the EI data
1193 description: Identity of the owner of the job
1194 statusNotificationUri:
1196 description: The target of EI job status notifications
1199 description: EI type specific job data
1200 description: Information for an Enrichment Information Job
1201 producer_info_type_info:
1203 - info_job_data_schema
1206 info_type_information:
1208 description: Type specific information for the information type
1209 info_job_data_schema:
1211 description: Json schema for the job data
1212 description: Information for an Information Type
1213 producer_info_job_request:
1220 description: The owner of the job
1223 description: The time when the job was last updated or created (ISO-8601)
1226 description: Identity of the Information Job
1229 description: URI for the target of the produced Information
1232 description: Json for the job data
1235 description: Type identity for the job
1236 description: The body of the Information Producer callbacks for Information
1237 Job creation and deletion
1248 description: Information type Idenitifier of the subscription job
1251 description: The target URI of the subscribed information
1254 description: Identity of the owner of the job
1257 description: Information type specific job data
1258 status_notification_uri:
1260 description: The target of Information subscription job status notifications
1261 description: Information for an Information Job
1269 description: Represents the operational states
1273 description: Status for an Info Producer
1276 description: 'Void/empty '
1277 consumer_type_subscription_info:
1285 description: Identity of the owner of the subscription
1288 description: The target URI of the subscribed information
1289 description: Information for an information type subscription