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 description: Monitor and interact
48 description: Spring Boot Actuator Web API Documentation
49 url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
51 /example_dataproducer/info_job/{infoJobId}:
54 - Data producer (callbacks)
55 summary: Callback for Information Job deletion
56 description: The call is invoked to terminate a data subscription. The endpoint
57 is provided by the Information Producer.
58 operationId: jobDeletedCallback
73 $ref: '#/components/schemas/Void'
74 /data-producer/v1/info-types:
77 - Data producer (registration)
78 summary: Info Type identifiers
79 operationId: getInfoTypdentifiers
82 description: Info Type identifiers
89 /A1-EI/v1/eitypes/{eiTypeId}:
92 - A1-EI (registration)
93 summary: Individual EI type
94 operationId: getEiType
109 $ref: '#/components/schemas/EiTypeObject'
111 description: Enrichment Information type is not found
115 $ref: '#/components/schemas/ProblemDetails'
116 /actuator/threaddump:
120 summary: Actuator web endpoint 'threaddump'
121 operationId: handle_2_1_3
129 /example_dataproducer/info_job:
132 - Data producer (callbacks)
133 summary: Callback for Information Job creation/modification
134 description: The call is invoked to activate or to modify a data subscription.
135 The endpoint is provided by the Information Producer.
136 operationId: jobCreatedCallback
141 $ref: '#/components/schemas/producer_info_job_request'
149 $ref: '#/components/schemas/Void'
150 /data-producer/v1/info-types/{infoTypeId}:
153 - Data producer (registration)
154 summary: Individual Information Type
155 operationId: getInfoType
166 description: Info Type
170 $ref: '#/components/schemas/producer_info_type_info'
172 description: Information type is not found
176 $ref: '#/components/schemas/ProblemDetails'
179 - Data producer (registration)
180 summary: Individual Information Type
181 operationId: putInfoType
194 $ref: '#/components/schemas/producer_info_type_info'
198 description: Type updated
202 $ref: '#/components/schemas/Void'
204 description: Type created
208 $ref: '#/components/schemas/Void'
210 description: Input validation failed
214 $ref: '#/components/schemas/ProblemDetails'
217 - Data producer (registration)
218 summary: Individual Information Type
219 operationId: deleteInfoType
230 description: Not used
234 $ref: '#/components/schemas/Void'
236 description: Producer deleted
240 $ref: '#/components/schemas/Void'
242 description: Information type is not found
246 $ref: '#/components/schemas/ProblemDetails'
248 description: The Information type has one or several active producers
252 $ref: '#/components/schemas/ProblemDetails'
253 /data-consumer/v1/info-type-subscription/{subscriptionId}:
257 summary: Individual subscription for information types (registration/deregistration)
258 operationId: getIndividualTypeSubscription
260 - name: subscriptionId
269 description: Type subscription
273 $ref: '#/components/schemas/consumer_type_subscription_info'
275 description: Subscription is not found
279 $ref: '#/components/schemas/ProblemDetails'
283 summary: Individual subscription for information types (registration/deregistration)
284 description: This service operation is used to subscribe to notifications for
285 changes in the availability of data types.
286 operationId: putIndividualTypeSubscription
288 - name: subscriptionId
299 $ref: '#/components/schemas/consumer_type_subscription_info'
303 description: Subscription updated
307 $ref: '#/components/schemas/Void'
309 description: Subscription created
313 $ref: '#/components/schemas/Void'
317 summary: Individual subscription for information types (registration/deregistration)
318 operationId: deleteIndividualTypeSubscription
320 - name: subscriptionId
329 description: Not used
333 $ref: '#/components/schemas/Void'
335 description: Subscription deleted
339 $ref: '#/components/schemas/Void'
341 description: Subscription is not found
345 $ref: '#/components/schemas/ProblemDetails'
350 summary: Actuator web endpoint 'loggers'
351 operationId: handle_6
363 summary: Actuator web endpoint 'health-path'
364 operationId: handle_12
372 /data-consumer/v1/info-types:
376 summary: Information type identifiers
377 operationId: getinfoTypeIdentifiers
380 description: Information type identifiers
387 /actuator/metrics/{requiredMetricName}:
391 summary: Actuator web endpoint 'metrics-requiredMetricName'
392 operationId: handle_5
394 - name: requiredMetricName
412 summary: Actuator root web endpoint
421 additionalProperties:
423 additionalProperties:
424 $ref: '#/components/schemas/Link'
425 /data-consumer/v1/info-jobs:
429 summary: Information Job identifiers
430 description: query for information job identifiers
431 operationId: getJobIds
435 description: selects subscription jobs of matching information type
443 description: selects result for one owner
451 description: Information information job identifiers
459 description: Information type is not found
463 $ref: '#/components/schemas/ProblemDetails'
464 /actuator/loggers/{name}:
468 summary: Actuator web endpoint 'loggers-name'
469 operationId: handle_7
488 summary: Actuator web endpoint 'loggers-name'
489 operationId: handle_0
505 /example_dataconsumer/info_jobs/{infoJobId}/status:
509 summary: Callback for changed Information Job status
510 description: The primitive is implemented by the data consumer and is invoked
511 when a Information Job status has been changed.
512 operationId: jobStatusCallback
525 $ref: '#/components/schemas/EiJobStatusObject'
533 $ref: '#/components/schemas/Void'
534 /A1-EI/v1/eijobs/{eiJobId}/status:
537 - A1-EI (registration)
538 summary: EI job status
539 operationId: getEiJobStatus_1
550 description: EI job status
554 $ref: '#/components/schemas/EiJobStatusObject'
556 description: Enrichment Information job is not found
560 $ref: '#/components/schemas/ProblemDetails'
561 /data-producer/v1/info-producers/{infoProducerId}/status:
564 - Data producer (registration)
565 summary: Information producer status
566 operationId: getInfoProducerStatus
568 - name: infoProducerId
577 description: Information producer status
581 $ref: '#/components/schemas/producer_status'
583 description: Information producer is not found
587 $ref: '#/components/schemas/ProblemDetails'
588 /data-consumer/v1/info-jobs/{infoJobId}/status:
593 operationId: getEiJobStatus
604 description: Information subscription job status
608 $ref: '#/components/schemas/consumer_job_status'
610 description: Information subscription job is not found
614 $ref: '#/components/schemas/ProblemDetails'
619 summary: Actuator web endpoint 'metrics'
620 operationId: handle_4
632 summary: Actuator web endpoint 'info'
633 operationId: handle_9
641 /example_dataproducer/health_check:
644 - Data producer (callbacks)
645 summary: Producer supervision
646 description: The endpoint is provided by the Information Producer and is used
647 for supervision of the producer.
648 operationId: producerSupervision
651 description: The producer is OK
659 - A1-EI (registration)
660 summary: EI type identifiers
661 operationId: getEiTypeIdentifiers
664 description: EI type identifiers
671 /data-producer/v1/info-producers/{infoProducerId}:
674 - Data producer (registration)
675 summary: Individual Information Producer
676 operationId: getInfoProducer
678 - name: infoProducerId
687 description: Information producer
691 $ref: '#/components/schemas/producer_registration_info'
693 description: Information producer is not found
697 $ref: '#/components/schemas/ProblemDetails'
700 - Data producer (registration)
701 summary: Individual Information Producer
702 operationId: putInfoProducer
704 - name: infoProducerId
715 $ref: '#/components/schemas/producer_registration_info'
719 description: Producer updated
723 $ref: '#/components/schemas/Void'
725 description: Producer created
729 $ref: '#/components/schemas/Void'
731 description: Input validation failed
735 $ref: '#/components/schemas/ProblemDetails'
737 description: Producer type not found
741 $ref: '#/components/schemas/ProblemDetails'
744 - Data producer (registration)
745 summary: Individual Information Producer
746 operationId: deleteInfoProducer
748 - name: infoProducerId
757 description: Not used
761 $ref: '#/components/schemas/Void'
763 description: Producer deleted
767 $ref: '#/components/schemas/Void'
769 description: Producer is not found
773 $ref: '#/components/schemas/ProblemDetails'
778 summary: Returns status and statistics of this service
779 operationId: getStatus
782 description: Service is living
786 $ref: '#/components/schemas/service_status_info'
787 /data-consumer/v1/info-type-subscription:
791 summary: Information type subscription identifiers
792 description: query for information type subscription identifiers
793 operationId: getInfoTypeSubscriptions
797 description: selects result for one owner
805 description: Information type subscription identifiers
812 /A1-EI/v1/eijobs/{eiJobId}:
815 - A1-EI (registration)
816 summary: Individual EI job
817 operationId: getIndividualEiJob_1
832 $ref: '#/components/schemas/EiJobObject'
834 description: Enrichment Information job is not found
838 $ref: '#/components/schemas/ProblemDetails'
841 - A1-EI (registration)
842 summary: Individual EI job
843 operationId: putIndividualEiJob
856 $ref: '#/components/schemas/EiJobObject'
860 description: Job updated
864 $ref: '#/components/schemas/Void'
866 description: Job created
870 $ref: '#/components/schemas/Void'
872 description: Input validation failed
876 $ref: '#/components/schemas/ProblemDetails'
878 description: Enrichment Information type is not found
882 $ref: '#/components/schemas/ProblemDetails'
884 description: Cannot modify job type
888 $ref: '#/components/schemas/ProblemDetails'
891 - A1-EI (registration)
892 summary: Individual EI job
893 operationId: deleteIndividualEiJob_1
904 description: Not used
908 $ref: '#/components/schemas/Void'
910 description: Job deleted
914 $ref: '#/components/schemas/Void'
916 description: Enrichment Information job is not found
920 $ref: '#/components/schemas/ProblemDetails'
925 summary: Actuator web endpoint 'logfile'
926 operationId: handle_8
934 /data-consumer/v1/info-jobs/{infoJobId}:
938 summary: Individual data subscription job
939 operationId: getIndividualEiJob
950 description: Information subscription job
954 $ref: '#/components/schemas/consumer_job'
956 description: Information subscription job is not found
960 $ref: '#/components/schemas/ProblemDetails'
964 summary: Individual data subscription job
965 description: The job will be enabled when a producer is available
966 operationId: putIndividualInfoJob
977 description: when true, a validation of that the type exists and that the
978 job matches the type schema.
989 $ref: '#/components/schemas/consumer_job'
993 description: Job updated
997 $ref: '#/components/schemas/Void'
999 description: Job created
1003 $ref: '#/components/schemas/Void'
1005 description: Input validation failed
1009 $ref: '#/components/schemas/ProblemDetails'
1011 description: Information type is not found
1015 $ref: '#/components/schemas/ProblemDetails'
1017 description: Cannot modify job type
1021 $ref: '#/components/schemas/ProblemDetails'
1025 summary: Individual data subscription job
1026 operationId: deleteIndividualEiJob
1037 description: Not used
1041 $ref: '#/components/schemas/Void'
1043 description: Job deleted
1047 $ref: '#/components/schemas/Void'
1049 description: Information subscription job is not found
1053 $ref: '#/components/schemas/ProblemDetails'
1054 /data-producer/v1/info-producers:
1057 - Data producer (registration)
1058 summary: Information producer identifiers
1059 operationId: getInfoProducerIdentifiers
1061 - name: info_type_id
1063 description: If given, only the producers for the EI Data type is returned.
1071 description: Information producer identifiers
1078 /data-consumer/v1/info-types/{infoTypeId}:
1082 summary: Individual information type
1083 operationId: getInfoType_1
1094 description: Information type
1098 $ref: '#/components/schemas/consumer_information_type'
1100 description: Information type is not found
1104 $ref: '#/components/schemas/ProblemDetails'
1109 summary: Actuator web endpoint 'health'
1110 operationId: handle_11
1121 - A1-EI (registration)
1122 summary: EI job identifiers
1123 description: query for EI job identifiers
1124 operationId: getEiJobIds
1128 description: selects EI jobs of matching EI type
1136 description: selects EI jobs for one EI job owner
1144 description: EI job identifiers
1152 description: Enrichment Information type is not found
1156 $ref: '#/components/schemas/ProblemDetails'
1157 /data-producer/v1/info-producers/{infoProducerId}/info-jobs:
1160 - Data producer (registration)
1161 summary: Information Job definitions
1162 description: Information Job definitions for one Information Producer
1163 operationId: getInfoProducerJobs
1165 - name: infoProducerId
1174 description: Information producer
1180 $ref: '#/components/schemas/producer_info_job_request'
1182 description: Information producer is not found
1186 $ref: '#/components/schemas/ProblemDetails'
1187 /example_dataconsumer/info_type_status:
1190 - Data consumer (callbacks)
1191 summary: Callback for changed Information type registration status
1192 description: The primitive is implemented by the data consumer and is invoked
1193 when a Information type status has been changed. <br/>Subscription are managed
1194 by primitives in 'Data consumer'
1195 operationId: typeStatusCallback
1200 $ref: '#/components/schemas/consumer_type_registration_info'
1208 $ref: '#/components/schemas/Void'
1213 summary: Actuator web endpoint 'heapdump'
1214 operationId: handle_10
1224 consumer_information_type:
1233 description: The number of registered producers for the type
1237 description: 'Allowed values: <br/>ENABLED: one or several producers for
1238 the information type are available <br/>DISABLED: no producers for the
1239 information type are available'
1245 description: Json schema for the job data
1246 description: Information for an Information type
1249 description: Information for an EI type
1250 service_status_info:
1260 description: Number of Information Producers
1264 description: Number of Information Types
1268 description: Number of Information Jobs
1272 description: status text
1273 producer_registration_info:
1275 - info_job_callback_url
1276 - info_producer_supervision_callback_url
1277 - supported_info_types
1280 info_producer_supervision_callback_url:
1282 description: callback for producer supervision
1283 supported_info_types:
1285 description: Supported Information Type IDs
1288 description: Supported Information Type IDs
1289 info_job_callback_url:
1291 description: callback for Information Job
1292 description: Information for an Information Producer
1293 consumer_type_registration_info:
1302 description: Information type identifier
1305 description: Json schema for the job data
1308 description: 'Allowed values: <br/>REGISTERED: the information type has
1309 been registered <br/>DEREGISTERED: the information type has been removed'
1313 description: Information for an Information type
1319 description: A human-readable explanation specific to this occurrence of
1321 example: Information Job type not found
1324 description: The HTTP status code generated by the origin server for this
1325 occurrence of the problem.
1328 description: A problem detail to carry details in a HTTP response according
1337 description: 'Allowed values for EI job status: <br/>ENABLED: the A1-EI
1338 producer is able to deliver EI result for the EI job <br/>DISABLED: the
1339 A1-EI producer is unable to deliver EI result for the EI job'
1343 description: Status for an EI job
1344 consumer_job_status:
1352 description: 'Allowed values: <br/>ENABLED: the A1-Information producer
1353 is able to deliver result for the Information Job <br/>DISABLED: the A1-Information
1354 producer is unable to deliver result for the Information Job'
1360 description: An array of all registered Information Producer Identifiers.
1363 description: An array of all registered Information Producer Identifiers.
1364 description: Status for an Information Job
1375 description: EI type Idenitifier of the EI job
1378 description: The target URI of the EI data
1381 description: Identity of the owner of the job
1382 statusNotificationUri:
1384 description: The target of EI job status notifications
1387 description: EI type specific job data
1388 description: Information for an Enrichment Information Job
1389 producer_info_type_info:
1391 - info_job_data_schema
1394 info_type_information:
1396 description: Type specific information for the information type
1397 info_job_data_schema:
1399 description: Json schema for the job data
1400 description: Information for an Information Type
1401 producer_info_job_request:
1408 description: The owner of the job
1411 description: The time when the job was last updated or created (ISO-8601)
1414 description: Identity of the Information Job
1417 description: URI for the target of the produced Information
1420 description: Json for the job data
1423 description: Type identity for the job
1424 description: The body of the Information Producer callbacks for Information
1425 Job creation and deletion
1436 description: Information type Idenitifier of the subscription job
1439 description: The target URI of the subscribed information
1442 description: Identity of the owner of the job
1445 description: Information type specific job data
1446 status_notification_uri:
1448 description: The target of Information subscription job status notifications
1449 description: Information for an Information Job
1457 description: Represents the operational states
1461 description: Status for an Info Producer
1464 description: 'Void/empty '
1472 consumer_type_subscription_info:
1480 description: Identity of the owner of the subscription
1483 description: The target URI of the subscribed information
1484 description: Information for an information type subscription