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-2023 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 consumer (callbacks)
38 description: API for data consumers
39 - name: Data producer (registration)
40 description: API for data producers
41 - name: Data producer (callbacks)
42 description: API implemented by data producers
44 description: API for data consumers
45 - name: Service status
46 description: API for monitoring of the service
48 description: Monitor and interact
50 description: Spring Boot Actuator Web API Documentation
51 url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
52 - name: Authorization API
53 description: API used for authorization of information job access (this is provided
54 by an authorization producer such as OPA)
60 summary: Request for access authorization.
61 description: The authorization function decides if access is granted.
62 operationId: subscriptionAuth
67 $ref: '#/components/schemas/subscription_authorization'
75 $ref: '#/components/schemas/authorization_result'
76 /data-producer/v1/info-types:
79 - Data producer (registration)
80 summary: Info Type identifiers
81 operationId: getInfoTypdentifiers
84 description: Info Type identifiers
95 summary: Actuator web endpoint 'threaddump'
96 operationId: threaddump
101 text/plain;charset=UTF-8:
104 application/vnd.spring-boot.actuator.v3+json:
110 application/vnd.spring-boot.actuator.v2+json:
113 /A1-EI/v1/eitypes/{eiTypeId}:
116 - A1-EI (registration)
117 summary: Individual EI type
118 operationId: getEiType
133 $ref: '#/components/schemas/EiTypeObject'
135 description: Enrichment Information type is not found
139 $ref: '#/components/schemas/ProblemDetails'
140 /data-producer/v1/info-types/{infoTypeId}:
143 - Data producer (registration)
144 summary: Individual Information Type
145 operationId: getInfoType
156 description: Info Type
160 $ref: '#/components/schemas/producer_info_type_info'
162 description: Information type is not found
166 $ref: '#/components/schemas/ProblemDetails'
169 - Data producer (registration)
170 summary: Individual Information Type
171 operationId: putInfoType
184 $ref: '#/components/schemas/producer_info_type_info'
188 description: Type updated
192 $ref: '#/components/schemas/Void'
194 description: Type created
198 $ref: '#/components/schemas/Void'
200 description: Input validation failed
204 $ref: '#/components/schemas/ProblemDetails'
207 - Data producer (registration)
208 summary: Individual Information Type
209 description: Existing jobs of the type will be automatically deleted.
210 operationId: deleteInfoType
221 description: Not used
225 $ref: '#/components/schemas/Void'
227 description: Producer deleted
231 $ref: '#/components/schemas/Void'
233 description: Information type is not found
237 $ref: '#/components/schemas/ProblemDetails'
239 description: The Information type has one or several active producers
243 $ref: '#/components/schemas/ProblemDetails'
244 /data-consumer/v1/info-type-subscription/{subscriptionId}:
248 summary: Individual subscription for information types (registration/deregistration)
249 operationId: getIndividualTypeSubscription
251 - name: subscriptionId
260 description: Type subscription
264 $ref: '#/components/schemas/consumer_type_subscription_info'
266 description: Subscription is not found
270 $ref: '#/components/schemas/ProblemDetails'
274 summary: Individual subscription for information types (registration/deregistration)
275 description: This service operation is used to subscribe to notifications for
276 changes in the availability of data types.
277 operationId: putIndividualTypeSubscription
279 - name: subscriptionId
290 $ref: '#/components/schemas/consumer_type_subscription_info'
294 description: Subscription updated
298 $ref: '#/components/schemas/Void'
300 description: Subscription created
304 $ref: '#/components/schemas/Void'
308 summary: Individual subscription for information types (registration/deregistration)
309 operationId: deleteIndividualTypeSubscription
311 - name: subscriptionId
320 description: Not used
324 $ref: '#/components/schemas/Void'
326 description: Subscription deleted
330 $ref: '#/components/schemas/Void'
332 description: Subscription is not found
336 $ref: '#/components/schemas/ProblemDetails'
337 /example-dataproducer/health-check:
340 - Data producer (callbacks)
341 summary: Producer supervision
342 description: The endpoint is provided by the Information Producer and is used
343 for supervision of the producer.
344 operationId: producerSupervision
347 description: The producer is OK
356 summary: Actuator web endpoint 'loggers'
362 application/vnd.spring-boot.actuator.v3+json:
368 application/vnd.spring-boot.actuator.v2+json:
375 summary: Actuator web endpoint 'health-path'
376 operationId: health-path
381 application/vnd.spring-boot.actuator.v3+json:
387 application/vnd.spring-boot.actuator.v2+json:
390 /data-consumer/v1/info-types:
394 summary: Information type identifiers
395 operationId: getinfoTypeIdentifiers
398 description: Information type identifiers
405 /example-dataconsumer/info-type-status:
408 - Data consumer (callbacks)
409 summary: Callback for changed Information type registration status
410 description: The primitive is implemented by the data consumer and is invoked
411 when a Information type status has been changed. <br/>Subscription are managed
412 by primitives in 'Data consumer'
413 operationId: typeStatusCallback
418 $ref: '#/components/schemas/consumer_type_registration_info'
426 $ref: '#/components/schemas/Void'
431 summary: Actuator web endpoint 'shutdown'
432 operationId: shutdown
437 application/vnd.spring-boot.actuator.v3+json:
443 application/vnd.spring-boot.actuator.v2+json:
446 /actuator/metrics/{requiredMetricName}:
450 summary: Actuator web endpoint 'metrics-requiredMetricName'
451 operationId: metrics-requiredMetricName
453 - name: requiredMetricName
464 application/vnd.spring-boot.actuator.v3+json:
470 application/vnd.spring-boot.actuator.v2+json:
477 summary: Actuator root web endpoint
483 application/vnd.spring-boot.actuator.v3+json:
486 additionalProperties:
488 additionalProperties:
489 $ref: '#/components/schemas/Link'
493 additionalProperties:
495 additionalProperties:
496 $ref: '#/components/schemas/Link'
497 application/vnd.spring-boot.actuator.v2+json:
500 additionalProperties:
502 additionalProperties:
503 $ref: '#/components/schemas/Link'
504 /data-consumer/v1/info-jobs:
508 summary: Information Job identifiers
509 description: query for information job identifiers
510 operationId: getJobIds
514 description: selects subscription jobs of matching information type
522 description: selects result for one owner
530 description: Information information job identifiers
538 description: Information type is not found
542 $ref: '#/components/schemas/ProblemDetails'
546 summary: Information Jobs
547 description: delete all jobs for one owner
548 operationId: deleteJobsForOwner
552 description: selects result for one owner
560 description: No Content
565 /actuator/loggers/{name}:
569 summary: Actuator web endpoint 'loggers-name'
570 operationId: loggers-name
583 application/vnd.spring-boot.actuator.v3+json:
589 application/vnd.spring-boot.actuator.v2+json:
595 summary: Actuator web endpoint 'loggers-name'
596 operationId: loggers-name_2
625 /example-dataproducer/info-job:
628 - Data producer (callbacks)
629 summary: Callback for Information Job creation/modification
630 description: The call is invoked to activate or to modify a data subscription.
631 The endpoint is provided by the Information Producer.
632 operationId: jobCreatedCallback
637 $ref: '#/components/schemas/producer_info_job_request'
645 $ref: '#/components/schemas/Void'
646 /example-dataproducer/info-job/{infoJobId}:
649 - Data producer (callbacks)
650 summary: Callback for Information Job deletion
651 description: The call is invoked to terminate a data subscription. The endpoint
652 is provided by the Information Producer.
653 operationId: jobDeletedCallback
668 $ref: '#/components/schemas/Void'
669 /A1-EI/v1/eijobs/{eiJobId}/status:
672 - A1-EI (registration)
673 summary: EI job status
674 operationId: getEiJobStatus
685 description: EI job status
689 $ref: '#/components/schemas/EiJobStatusObject'
691 description: Enrichment Information job is not found
695 $ref: '#/components/schemas/ProblemDetails'
696 /data-producer/v1/info-producers/{infoProducerId}/status:
699 - Data producer (registration)
700 summary: Information producer status
701 operationId: getInfoProducerStatus
703 - name: infoProducerId
712 description: Information producer status
716 $ref: '#/components/schemas/producer_status'
718 description: Information producer is not found
722 $ref: '#/components/schemas/ProblemDetails'
723 /data-consumer/v1/info-jobs/{infoJobId}/status:
728 operationId: getInfoJobStatus
739 description: Information subscription job status
743 $ref: '#/components/schemas/consumer_job_status'
745 description: Information subscription job is not found
749 $ref: '#/components/schemas/ProblemDetails'
754 summary: Actuator web endpoint 'metrics'
760 application/vnd.spring-boot.actuator.v3+json:
766 application/vnd.spring-boot.actuator.v2+json:
769 /example-dataconsumer/info-jobs/{infoJobId}/status:
773 summary: Callback for changed Information Job status
774 description: The primitive is implemented by the data consumer and is invoked
775 when a Information Job status has been changed.
776 operationId: jobStatusCallback
789 $ref: '#/components/schemas/EiJobStatusObject'
797 $ref: '#/components/schemas/Void'
802 summary: Actuator web endpoint 'info'
808 application/vnd.spring-boot.actuator.v3+json:
814 application/vnd.spring-boot.actuator.v2+json:
820 - A1-EI (registration)
821 summary: EI type identifiers
822 operationId: getEiTypeIdentifiers
825 description: EI type identifiers
832 /data-producer/v1/info-producers/{infoProducerId}:
835 - Data producer (registration)
836 summary: Individual Information Producer
837 operationId: getInfoProducer
839 - name: infoProducerId
848 description: Information producer
852 $ref: '#/components/schemas/producer_registration_info'
854 description: Information producer is not found
858 $ref: '#/components/schemas/ProblemDetails'
861 - Data producer (registration)
862 summary: Individual Information Producer
863 operationId: putInfoProducer
865 - name: infoProducerId
876 $ref: '#/components/schemas/producer_registration_info'
880 description: Producer updated
884 $ref: '#/components/schemas/Void'
886 description: Producer created
890 $ref: '#/components/schemas/Void'
892 description: Input validation failed
896 $ref: '#/components/schemas/ProblemDetails'
898 description: Producer type not found
902 $ref: '#/components/schemas/ProblemDetails'
905 - Data producer (registration)
906 summary: Individual Information Producer
907 operationId: deleteInfoProducer
909 - name: infoProducerId
918 description: Not used
922 $ref: '#/components/schemas/Void'
924 description: Producer deleted
928 $ref: '#/components/schemas/Void'
930 description: Producer is not found
934 $ref: '#/components/schemas/ProblemDetails'
939 summary: Returns status and statistics of this service
940 operationId: getStatus
943 description: Service is living
947 $ref: '#/components/schemas/service_status_info'
948 /data-consumer/v1/info-type-subscription:
952 summary: Information type subscription identifiers
953 description: query for information type subscription identifiers
954 operationId: getInfoTypeSubscriptions
958 description: selects result for one owner
966 description: Information type subscription identifiers
973 /A1-EI/v1/eijobs/{eiJobId}:
976 - A1-EI (registration)
977 summary: Individual EI job
978 operationId: getIndividualEiJob
993 $ref: '#/components/schemas/EiJobObject'
995 description: Enrichment Information job is not found
999 $ref: '#/components/schemas/ProblemDetails'
1002 - A1-EI (registration)
1003 summary: Individual EI job
1004 description: If the requested info_type_id is not found, an attempt to find
1005 a compatible version is made. As an example, 'type_1.9.0' is backwards compatible
1007 operationId: putIndividualEiJob
1020 $ref: '#/components/schemas/EiJobObject'
1024 description: Job updated
1028 $ref: '#/components/schemas/Void'
1030 description: Job created
1034 $ref: '#/components/schemas/Void'
1036 description: Input validation failed
1040 $ref: '#/components/schemas/ProblemDetails'
1042 description: Enrichment Information type is not found
1046 $ref: '#/components/schemas/ProblemDetails'
1048 description: Cannot modify job type
1052 $ref: '#/components/schemas/ProblemDetails'
1055 - A1-EI (registration)
1056 summary: Individual EI job
1057 operationId: deleteIndividualEiJob
1068 description: Not used
1072 $ref: '#/components/schemas/Void'
1074 description: Job deleted
1078 $ref: '#/components/schemas/Void'
1080 description: Enrichment Information job is not found
1084 $ref: '#/components/schemas/ProblemDetails'
1089 summary: Actuator web endpoint 'logfile'
1090 operationId: logfile
1095 text/plain;charset=UTF-8:
1098 /data-consumer/v1/info-jobs/{infoJobId}:
1102 summary: Individual data subscription job
1103 operationId: getIndividualInfoJob
1114 description: Information subscription job
1118 $ref: '#/components/schemas/consumer_job'
1120 description: Information subscription job is not found
1124 $ref: '#/components/schemas/ProblemDetails'
1128 summary: Individual data subscription job
1129 description: The job will be enabled when a producer is available. If the requested
1130 info_type_id is not found, an attempt to find a compatible version is made.
1131 As an example, 'type_1.9.0' is backwards compatible with 'type_1.0.0'
1132 operationId: putIndividualInfoJob
1145 $ref: '#/components/schemas/consumer_job'
1149 description: Job updated
1153 $ref: '#/components/schemas/Void'
1155 description: Job created
1159 $ref: '#/components/schemas/Void'
1161 description: Input validation failed
1165 $ref: '#/components/schemas/ProblemDetails'
1167 description: Information type is not found
1171 $ref: '#/components/schemas/ProblemDetails'
1173 description: Cannot modify job type
1177 $ref: '#/components/schemas/ProblemDetails'
1181 summary: Individual data subscription job
1182 operationId: deleteIndividualInfoJob
1193 description: Not used
1197 $ref: '#/components/schemas/Void'
1199 description: Job deleted
1203 $ref: '#/components/schemas/Void'
1205 description: Information subscription job is not found
1209 $ref: '#/components/schemas/ProblemDetails'
1210 /data-producer/v1/info-producers:
1213 - Data producer (registration)
1214 summary: Information producer identifiers
1215 operationId: getInfoProducerIdentifiers
1219 description: If given, only the producers for the Info Type is returned.
1227 description: Information producer identifiers
1234 /data-consumer/v1/info-types/{infoTypeId}:
1238 summary: Individual information type
1239 operationId: getInfoType_1
1250 description: Information type
1254 $ref: '#/components/schemas/consumer_information_type'
1256 description: Information type is not found
1260 $ref: '#/components/schemas/ProblemDetails'
1265 summary: Actuator web endpoint 'health'
1271 application/vnd.spring-boot.actuator.v3+json:
1277 application/vnd.spring-boot.actuator.v2+json:
1283 - A1-EI (registration)
1284 summary: EI job identifiers
1285 description: query for EI job identifiers
1286 operationId: getEiJobIds
1290 description: selects EI jobs of matching EI type
1298 description: selects EI jobs for one EI job owner
1306 description: EI job identifiers
1314 description: Enrichment Information type is not found
1318 $ref: '#/components/schemas/ProblemDetails'
1319 /data-producer/v1/info-producers/{infoProducerId}/info-jobs:
1322 - Data producer (registration)
1323 summary: Information Job definitions
1324 description: Information Job definitions for one Information Producer
1325 operationId: getInfoProducerJobs
1327 - name: infoProducerId
1336 description: Information producer
1342 $ref: '#/components/schemas/producer_info_job_request'
1344 description: Information producer is not found
1348 $ref: '#/components/schemas/ProblemDetails'
1353 summary: Actuator web endpoint 'heapdump'
1354 operationId: heapdump
1359 application/octet-stream:
1364 consumer_information_type:
1373 description: The number of registered producers for the type
1377 description: 'Allowed values: <br/>ENABLED: one or several producers for
1378 the information type are available <br/>DISABLED: no producers for the
1379 information type are available'
1385 description: Json schema for the job data
1386 description: Information for an Information type
1389 description: Information for an EI type
1390 authorization_result:
1397 description: If true, the access is granted
1398 description: Result of authorization
1399 service_status_info:
1409 description: Number of Information Producers
1413 description: Number of Information Types
1417 description: Number of Information Jobs
1421 description: status text
1422 producer_registration_info:
1424 - info_job_callback_url
1425 - info_producer_supervision_callback_url
1426 - supported_info_types
1429 info_producer_supervision_callback_url:
1431 description: callback for producer supervision
1432 supported_info_types:
1434 description: Supported Information Type IDs
1437 description: Supported Information Type IDs
1438 info_job_callback_url:
1440 description: callback for Information Job
1441 description: Information for an Information Producer
1442 consumer_type_registration_info:
1451 description: Information type identifier
1454 description: Json schema for the job data
1457 description: 'Allowed values: <br/>REGISTERED: the information type has
1458 been registered <br/>DEREGISTERED: the information type has been removed'
1462 description: Information for an Information type
1468 description: A human-readable explanation specific to this occurrence of
1470 example: Information Job type not found
1473 description: The HTTP status code generated by the origin server for this
1474 occurrence of the problem.
1477 description: A problem detail to carry details in a HTTP response according
1486 description: 'Allowed values for EI job status: <br/>ENABLED: the A1-EI
1487 producer is able to deliver EI result for the EI job <br/>DISABLED: the
1488 A1-EI producer is unable to deliver EI result for the EI job'
1492 description: Status for an EI job
1493 consumer_job_status:
1501 description: 'Allowed values: <br/>ENABLED: the A1-Information producer
1502 is able to deliver result for the Information Job <br/>DISABLED: the A1-Information
1503 producer is unable to deliver result for the Information Job'
1509 description: An array of all registered Information Producer Identifiers.
1512 description: An array of all registered Information Producer Identifiers.
1513 description: Status for an Information Job
1524 description: EI type Idenitifier of the EI job
1527 description: The target URI of the EI data
1530 description: Identity of the owner of the job
1531 statusNotificationUri:
1533 description: The target of EI job status notifications
1536 description: EI type specific job data
1537 description: Information for an Enrichment Information Job
1538 subscription_authorization:
1544 $ref: '#/components/schemas/input'
1545 description: Authorization request for subscription requests
1546 producer_info_type_info:
1548 - info_job_data_schema
1551 info_type_information:
1553 description: Type specific information for the information type
1554 info_job_data_schema:
1556 description: Json schema for the job data
1557 description: Information for an Information Type
1558 producer_info_job_request:
1565 description: The owner of the job. This is a string that indentifies the
1566 job owner, which could be an application, a POD or something else.
1569 description: The time when the job was last updated or created (ISO-8601)
1572 description: Identity of the Information Job
1575 description: URI for the target of the produced Information. Note, this
1576 is deprecated and will be removed. The information on how the data is
1577 delivered is type specific and should be defined in the type specific
1581 description: Json for the job data
1584 description: Type identity for the job
1585 description: The body of the Information Producer callbacks for Information
1586 Job creation and deletion
1597 description: Access type
1603 description: Information type identifier
1606 description: Information type specific job data
1609 description: Authorization token
1621 description: Information type Idenitifier of the subscription job
1624 description: The target URI of the subscribed information
1627 description: Identity of the owner of the job
1630 description: Information type specific job data
1631 status_notification_uri:
1633 description: The target of Information subscription job status notifications
1634 description: Information for an Information Job
1642 description: Represents the operational states
1646 description: Status for an Info Producer
1649 description: 'Void/empty '
1657 consumer_type_subscription_info:
1665 description: Identity of the owner of the subscription
1668 description: The target URI of the subscribed information
1669 description: Information for an information type subscription