3 title: Data management and exposure
4 description: '<h1>API documentation</h1><h2>General</h2><p> The ICS is a data subscription
5 service which decouples data producers from data consumers. A data consumer can
6 create a data subscription (Information Job) without any knowledge of its data
7 producers (one subscription may involve several data producers). A data producer
8 has the ability to produce one or several types of data (Information Type). One
9 type of data can be produced by zero to many producers. <br /><br /> A data
10 consumer can have several active data subscriptions (Information Job). One Information
11 Job consists of the type of data to produce and additional parameters, which may
12 be different for different data types. These parameters are not defined or limited
13 by this service and may for instance include: <ul> <li>Parameters related to
14 delivery (Kafka stream, callback URL etc.). These are different for different
15 delivery protocols.</li> <li>Filtering information (scope, filter or other discriminators).</li> <li>Periodicy</li> <li>Other
16 info used for aggregation</li> <ul></p><h2>APIs provided by the service</h2><h4>A1-EI</h4><p> This
17 API is between Near-RT RIC and the Non-RT RIC. The Near-RT RIC is a data consumer,
18 which creates Information Jobs to subscribe for data. In this context, the information
19 is referred to as ''Enrichment Information'', EI.</p><h4>Data producer API</h4><p> This
20 API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN
21 R1 interface. The API is for use by different kinds of data producers and provides
22 support for:<ul><li>Registry of supported information types and which parameters
23 needed to setup a subscription.</li><li>Registry of existing data producers.</li><li>Callback
24 API provided by producers to setup subscriptions.</li></ul></p><h4>Data consumer
25 API</h4><p> This API is provided by the Non-RT RIC platform and is intended to
26 be part of the O-RAN R1 interface. The API is for use by different kinds of data
27 consumers and provides support for:<ul><li>Querying of available types of data
28 to consume.</li><li>Management of data subscription jobs</li><li>Optional callback
29 API provided by consumers to get notification on added and removed information
30 types.</li></ul></p><h4>Service status</h4><p> This API provides a means to monitor
31 the health of this service.</p>'
33 name: Copyright (C) 2020-2022 Nordix Foundation. Licensed under the Apache License.
34 url: http://www.apache.org/licenses/LICENSE-2.0
39 - name: A1-EI (registration)
40 description: Data consumer EI job registration
41 - name: A1-EI (callbacks)
42 description: Data consumer EI job status callbacks
43 - name: Data consumer (callbacks)
44 description: API for data consumers
45 - name: Data producer (registration)
46 description: API for data producers
47 - name: Data producer (callbacks)
48 description: API implemented by data producers
50 description: API for data consumers
51 - name: Service status
52 description: API for monitoring of the service
54 description: Monitor and interact
56 description: Spring Boot Actuator Web API Documentation
57 url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
59 /data-producer/v1/info-types:
62 - Data producer (registration)
63 summary: Info Type identifiers
64 operationId: getInfoTypdentifiers
67 description: Info Type identifiers
78 summary: Actuator web endpoint 'threaddump'
79 operationId: threaddump_2
87 /A1-EI/v1/eitypes/{eiTypeId}:
90 - A1-EI (registration)
91 summary: Individual EI type
92 operationId: getEiType
107 $ref: '#/components/schemas/EiTypeObject'
109 description: Enrichment Information type is not found
113 $ref: '#/components/schemas/ProblemDetails'
114 /data-producer/v1/info-types/{infoTypeId}:
117 - Data producer (registration)
118 summary: Individual Information Type
119 operationId: getInfoType
130 description: Info Type
134 $ref: '#/components/schemas/producer_info_type_info'
136 description: Information type is not found
140 $ref: '#/components/schemas/ProblemDetails'
143 - Data producer (registration)
144 summary: Individual Information Type
145 operationId: putInfoType
158 $ref: '#/components/schemas/producer_info_type_info'
162 description: Type updated
166 $ref: '#/components/schemas/Void'
168 description: Type created
172 $ref: '#/components/schemas/Void'
174 description: Input validation failed
178 $ref: '#/components/schemas/ProblemDetails'
181 - Data producer (registration)
182 summary: Individual Information Type
183 operationId: deleteInfoType
194 description: Not used
198 $ref: '#/components/schemas/Void'
200 description: Producer deleted
204 $ref: '#/components/schemas/Void'
206 description: Information type is not found
210 $ref: '#/components/schemas/ProblemDetails'
212 description: The Information type has one or several active producers
216 $ref: '#/components/schemas/ProblemDetails'
217 /data-consumer/v1/info-type-subscription/{subscriptionId}:
221 summary: Individual subscription for information types (registration/deregistration)
222 operationId: getIndividualTypeSubscription
224 - name: subscriptionId
233 description: Type subscription
237 $ref: '#/components/schemas/consumer_type_subscription_info'
239 description: Subscription is not found
243 $ref: '#/components/schemas/ProblemDetails'
247 summary: Individual subscription for information types (registration/deregistration)
248 description: This service operation is used to subscribe to notifications for
249 changes in the availability of data types.
250 operationId: putIndividualTypeSubscription
252 - name: subscriptionId
263 $ref: '#/components/schemas/consumer_type_subscription_info'
267 description: Subscription updated
271 $ref: '#/components/schemas/Void'
273 description: Subscription created
277 $ref: '#/components/schemas/Void'
281 summary: Individual subscription for information types (registration/deregistration)
282 operationId: deleteIndividualTypeSubscription
284 - name: subscriptionId
293 description: Not used
297 $ref: '#/components/schemas/Void'
299 description: Subscription deleted
303 $ref: '#/components/schemas/Void'
305 description: Subscription is not found
309 $ref: '#/components/schemas/ProblemDetails'
310 /example-dataproducer/health-check:
313 - Data producer (callbacks)
314 summary: Producer supervision
315 description: The endpoint is provided by the Information Producer and is used
316 for supervision of the producer.
317 operationId: producerSupervision
320 description: The producer is OK
329 summary: Actuator web endpoint 'loggers'
342 summary: Actuator web endpoint 'health-path'
343 operationId: health-path
351 /data-consumer/v1/info-types:
355 summary: Information type identifiers
356 operationId: getinfoTypeIdentifiers
359 description: Information type identifiers
366 /example-dataconsumer/info-type-status:
369 - Data consumer (callbacks)
370 summary: Callback for changed Information type registration status
371 description: The primitive is implemented by the data consumer and is invoked
372 when a Information type status has been changed. <br/>Subscription are managed
373 by primitives in 'Data consumer'
374 operationId: typeStatusCallback
379 $ref: '#/components/schemas/consumer_type_registration_info'
387 $ref: '#/components/schemas/Void'
388 /actuator/metrics/{requiredMetricName}:
392 summary: Actuator web endpoint 'metrics-requiredMetricName'
393 operationId: metrics-requiredMetricName
395 - name: requiredMetricName
413 summary: Actuator root web endpoint
422 additionalProperties:
424 additionalProperties:
425 $ref: '#/components/schemas/Link'
426 /data-consumer/v1/info-jobs:
430 summary: Information Job identifiers
431 description: query for information job identifiers
432 operationId: getJobIds
436 description: selects subscription jobs of matching information type
444 description: selects result for one owner
452 description: Information information job identifiers
460 description: Information type is not found
464 $ref: '#/components/schemas/ProblemDetails'
465 /actuator/loggers/{name}:
469 summary: Actuator web endpoint 'loggers-name'
470 operationId: loggers-name_2
489 summary: Actuator web endpoint 'loggers-name'
490 operationId: loggers-name
506 /example-dataproducer/info-job:
509 - Data producer (callbacks)
510 summary: Callback for Information Job creation/modification
511 description: The call is invoked to activate or to modify a data subscription.
512 The endpoint is provided by the Information Producer.
513 operationId: jobCreatedCallback
518 $ref: '#/components/schemas/producer_info_job_request'
526 $ref: '#/components/schemas/Void'
527 /example-dataproducer/info-job/{infoJobId}:
530 - Data producer (callbacks)
531 summary: Callback for Information Job deletion
532 description: The call is invoked to terminate a data subscription. The endpoint
533 is provided by the Information Producer.
534 operationId: jobDeletedCallback
549 $ref: '#/components/schemas/Void'
550 /A1-EI/v1/eijobs/{eiJobId}/status:
553 - A1-EI (registration)
554 summary: EI job status
555 operationId: getEiJobStatus_1
566 description: EI job status
570 $ref: '#/components/schemas/EiJobStatusObject'
572 description: Enrichment Information job is not found
576 $ref: '#/components/schemas/ProblemDetails'
577 /data-producer/v1/info-producers/{infoProducerId}/status:
580 - Data producer (registration)
581 summary: Information producer status
582 operationId: getInfoProducerStatus
584 - name: infoProducerId
593 description: Information producer status
597 $ref: '#/components/schemas/producer_status'
599 description: Information producer is not found
603 $ref: '#/components/schemas/ProblemDetails'
604 /data-consumer/v1/info-jobs/{infoJobId}/status:
609 operationId: getEiJobStatus
620 description: Information subscription job status
624 $ref: '#/components/schemas/consumer_job_status'
626 description: Information subscription job is not found
630 $ref: '#/components/schemas/ProblemDetails'
635 summary: Actuator web endpoint 'metrics'
644 /example-dataconsumer/info-jobs/{infoJobId}/status:
648 summary: Callback for changed Information Job status
649 description: The primitive is implemented by the data consumer and is invoked
650 when a Information Job status has been changed.
651 operationId: jobStatusCallback
664 $ref: '#/components/schemas/EiJobStatusObject'
672 $ref: '#/components/schemas/Void'
677 summary: Actuator web endpoint 'info'
689 - A1-EI (registration)
690 summary: EI type identifiers
691 operationId: getEiTypeIdentifiers
694 description: EI type identifiers
701 /data-producer/v1/info-producers/{infoProducerId}:
704 - Data producer (registration)
705 summary: Individual Information Producer
706 operationId: getInfoProducer
708 - name: infoProducerId
717 description: Information producer
721 $ref: '#/components/schemas/producer_registration_info'
723 description: Information producer is not found
727 $ref: '#/components/schemas/ProblemDetails'
730 - Data producer (registration)
731 summary: Individual Information Producer
732 operationId: putInfoProducer
734 - name: infoProducerId
745 $ref: '#/components/schemas/producer_registration_info'
749 description: Producer updated
753 $ref: '#/components/schemas/Void'
755 description: Producer created
759 $ref: '#/components/schemas/Void'
761 description: Input validation failed
765 $ref: '#/components/schemas/ProblemDetails'
767 description: Producer type not found
771 $ref: '#/components/schemas/ProblemDetails'
774 - Data producer (registration)
775 summary: Individual Information Producer
776 operationId: deleteInfoProducer
778 - name: infoProducerId
787 description: Not used
791 $ref: '#/components/schemas/Void'
793 description: Producer deleted
797 $ref: '#/components/schemas/Void'
799 description: Producer is not found
803 $ref: '#/components/schemas/ProblemDetails'
808 summary: Returns status and statistics of this service
809 operationId: getStatus
812 description: Service is living
816 $ref: '#/components/schemas/service_status_info'
817 /data-consumer/v1/info-type-subscription:
821 summary: Information type subscription identifiers
822 description: query for information type subscription identifiers
823 operationId: getInfoTypeSubscriptions
827 description: selects result for one owner
835 description: Information type subscription identifiers
842 /A1-EI/v1/eijobs/{eiJobId}:
845 - A1-EI (registration)
846 summary: Individual EI job
847 operationId: getIndividualEiJob_1
862 $ref: '#/components/schemas/EiJobObject'
864 description: Enrichment Information job is not found
868 $ref: '#/components/schemas/ProblemDetails'
871 - A1-EI (registration)
872 summary: Individual EI job
873 operationId: putIndividualEiJob
886 $ref: '#/components/schemas/EiJobObject'
890 description: Job updated
894 $ref: '#/components/schemas/Void'
896 description: Job created
900 $ref: '#/components/schemas/Void'
902 description: Input validation failed
906 $ref: '#/components/schemas/ProblemDetails'
908 description: Enrichment Information type is not found
912 $ref: '#/components/schemas/ProblemDetails'
914 description: Cannot modify job type
918 $ref: '#/components/schemas/ProblemDetails'
921 - A1-EI (registration)
922 summary: Individual EI job
923 operationId: deleteIndividualEiJob_1
934 description: Not used
938 $ref: '#/components/schemas/Void'
940 description: Job deleted
944 $ref: '#/components/schemas/Void'
946 description: Enrichment Information job is not found
950 $ref: '#/components/schemas/ProblemDetails'
955 summary: Actuator web endpoint 'logfile'
964 /data-consumer/v1/info-jobs/{infoJobId}:
968 summary: Individual data subscription job
969 operationId: getIndividualEiJob
980 description: Information subscription job
984 $ref: '#/components/schemas/consumer_job'
986 description: Information subscription job is not found
990 $ref: '#/components/schemas/ProblemDetails'
994 summary: Individual data subscription job
995 description: The job will be enabled when a producer is available
996 operationId: putIndividualInfoJob
1007 description: when true, a validation of that the type exists and that the
1008 job matches the type schema.
1019 $ref: '#/components/schemas/consumer_job'
1023 description: Job updated
1027 $ref: '#/components/schemas/Void'
1029 description: Job created
1033 $ref: '#/components/schemas/Void'
1035 description: Input validation failed
1039 $ref: '#/components/schemas/ProblemDetails'
1041 description: Information type is not found
1045 $ref: '#/components/schemas/ProblemDetails'
1047 description: Cannot modify job type
1051 $ref: '#/components/schemas/ProblemDetails'
1055 summary: Individual data subscription job
1056 operationId: deleteIndividualEiJob
1067 description: Not used
1071 $ref: '#/components/schemas/Void'
1073 description: Job deleted
1077 $ref: '#/components/schemas/Void'
1079 description: Information subscription job is not found
1083 $ref: '#/components/schemas/ProblemDetails'
1084 /data-producer/v1/info-producers:
1087 - Data producer (registration)
1088 summary: Information producer identifiers
1089 operationId: getInfoProducerIdentifiers
1093 description: If given, only the producers for the EI Data type is returned.
1101 description: Information producer identifiers
1108 /data-consumer/v1/info-types/{infoTypeId}:
1112 summary: Individual information type
1113 operationId: getInfoType_1
1124 description: Information type
1128 $ref: '#/components/schemas/consumer_information_type'
1130 description: Information type is not found
1134 $ref: '#/components/schemas/ProblemDetails'
1139 summary: Actuator web endpoint 'health'
1151 - A1-EI (registration)
1152 summary: EI job identifiers
1153 description: query for EI job identifiers
1154 operationId: getEiJobIds
1158 description: selects EI jobs of matching EI type
1166 description: selects EI jobs for one EI job owner
1174 description: EI job identifiers
1182 description: Enrichment Information type is not found
1186 $ref: '#/components/schemas/ProblemDetails'
1187 /data-producer/v1/info-producers/{infoProducerId}/info-jobs:
1190 - Data producer (registration)
1191 summary: Information Job definitions
1192 description: Information Job definitions for one Information Producer
1193 operationId: getInfoProducerJobs
1195 - name: infoProducerId
1204 description: Information producer
1210 $ref: '#/components/schemas/producer_info_job_request'
1212 description: Information producer is not found
1216 $ref: '#/components/schemas/ProblemDetails'
1221 summary: Actuator web endpoint 'heapdump'
1222 operationId: heapdump
1232 consumer_information_type:
1241 description: The number of registered producers for the type
1245 description: 'Allowed values: <br/>ENABLED: one or several producers for
1246 the information type are available <br/>DISABLED: no producers for the
1247 information type are available'
1253 description: Json schema for the job data
1254 description: Information for an Information type
1257 description: Information for an EI type
1258 service_status_info:
1268 description: Number of Information Producers
1272 description: Number of Information Types
1276 description: Number of Information Jobs
1280 description: status text
1281 producer_registration_info:
1283 - info_job_callback_url
1284 - info_producer_supervision_callback_url
1285 - supported_info_types
1288 info_producer_supervision_callback_url:
1290 description: callback for producer supervision
1291 supported_info_types:
1293 description: Supported Information Type IDs
1296 description: Supported Information Type IDs
1297 info_job_callback_url:
1299 description: callback for Information Job
1300 description: Information for an Information Producer
1301 consumer_type_registration_info:
1310 description: Information type identifier
1313 description: Json schema for the job data
1316 description: 'Allowed values: <br/>REGISTERED: the information type has
1317 been registered <br/>DEREGISTERED: the information type has been removed'
1321 description: Information for an Information type
1327 description: A human-readable explanation specific to this occurrence of
1329 example: Information Job type not found
1332 description: The HTTP status code generated by the origin server for this
1333 occurrence of the problem.
1336 description: A problem detail to carry details in a HTTP response according
1345 description: 'Allowed values for EI job status: <br/>ENABLED: the A1-EI
1346 producer is able to deliver EI result for the EI job <br/>DISABLED: the
1347 A1-EI producer is unable to deliver EI result for the EI job'
1351 description: Status for an EI job
1352 consumer_job_status:
1360 description: 'Allowed values: <br/>ENABLED: the A1-Information producer
1361 is able to deliver result for the Information Job <br/>DISABLED: the A1-Information
1362 producer is unable to deliver result for the Information Job'
1368 description: An array of all registered Information Producer Identifiers.
1371 description: An array of all registered Information Producer Identifiers.
1372 description: Status for an Information Job
1383 description: EI type Idenitifier of the EI job
1386 description: The target URI of the EI data
1389 description: Identity of the owner of the job
1390 statusNotificationUri:
1392 description: The target of EI job status notifications
1395 description: EI type specific job data
1396 description: Information for an Enrichment Information Job
1397 producer_info_type_info:
1399 - info_job_data_schema
1402 info_type_information:
1404 description: Type specific information for the information type
1405 info_job_data_schema:
1407 description: Json schema for the job data
1408 description: Information for an Information Type
1409 producer_info_job_request:
1416 description: The owner of the job
1419 description: The time when the job was last updated or created (ISO-8601)
1422 description: Identity of the Information Job
1425 description: URI for the target of the produced Information
1428 description: Json for the job data
1431 description: Type identity for the job
1432 description: The body of the Information Producer callbacks for Information
1433 Job creation and deletion
1444 description: Information type Idenitifier of the subscription job
1447 description: The target URI of the subscribed information
1450 description: Identity of the owner of the job
1453 description: Information type specific job data
1454 status_notification_uri:
1456 description: The target of Information subscription job status notifications
1457 description: Information for an Information Job
1465 description: Represents the operational states
1469 description: Status for an Info Producer
1472 description: 'Void/empty '
1480 consumer_type_subscription_info:
1488 description: Identity of the owner of the subscription
1491 description: The target URI of the subscribed information
1492 description: Information for an information type subscription