openapi: 3.0.1 info: title: Data management and exposure description:
The service is mainly
a broker between data producers and data consumers. A data producer has the ability
to produce one or several types of data (Information Type). One type of data can
be produced by zero to many producers.
A data consumer can have several
active data subscriptions (Information Job). One Information Job consists of the
type of data to produce and additional parameters for filtering of the data. These
parameters are different for different data types.
This API is between Near-RT RIC and the Non-RT RIC. The Near-RT RIC is a data consumer, which creates Information Jobs to subscribe for data. In this context, the information is referred to as 'Enrichment Information', EI.
This API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The API is for use by different kinds of data producers and provides support for:
This API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The API is for use by different kinds of data consumers and provides support for:
This API provides a means to monitor the health of this service.
license: name: Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License. url: http://www.apache.org/licenses/LICENSE-2.0 version: "1.0" servers: - url: / tags: - name: A1-EI (registration) description: Data consumer EI job registration - name: A1-EI (callbacks) description: Data consumer EI job status callbacks - name: Data producer (callbacks) description: API implemented by data producers - name: Data producer (registration) description: API for data producers - name: Service status description: API for monitoring of the service - name: Data consumer description: API for data consumers - name: Actuator description: Monitor and interact externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/ paths: /example_dataproducer/info_job/{infoJobId}: delete: tags: - Data producer (callbacks) summary: Callback for Information Job deletion description: The call is invoked to terminate a data subscription. The endpoint is provided by the Information Producer. operationId: jobDeletedCallback parameters: - name: infoJobId in: path required: true style: simple explode: false schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Void' /data-producer/v1/info-types: get: tags: - Data producer (registration) summary: Info Type identifiers operationId: getInfoTypdentifiers responses: 200: description: Info Type identifiers content: application/json: schema: type: array items: type: string /A1-EI/v1/eitypes/{eiTypeId}: get: tags: - A1-EI (registration) summary: Individual EI type operationId: getEiType parameters: - name: eiTypeId in: path required: true style: simple explode: false schema: type: string responses: 200: description: EI type content: application/json: schema: $ref: '#/components/schemas/EiTypeObject' 404: description: Enrichment Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /actuator/threaddump: get: tags: - Actuator summary: Actuator web endpoint 'threaddump' operationId: handle_2_1_3 responses: 200: description: OK content: '*/*': schema: type: object /example_dataproducer/info_job: post: tags: - Data producer (callbacks) summary: Callback for Information Job creation/modification description: The call is invoked to activate or to modify a data subscription. The endpoint is provided by the Information Producer. operationId: jobCreatedCallback requestBody: content: application/json: schema: $ref: '#/components/schemas/producer_info_job_request' required: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Void' /data-producer/v1/info-types/{infoTypeId}: get: tags: - Data producer (registration) summary: Individual Information Type operationId: getInfoType parameters: - name: infoTypeId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Info Type content: application/json: schema: $ref: '#/components/schemas/producer_info_type_info' 404: description: Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - Data producer (registration) summary: Individual Information Type operationId: putInfoType parameters: - name: infoTypeId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/producer_info_type_info' required: true responses: 200: description: Type updated content: application/json: schema: $ref: '#/components/schemas/Void' 201: description: Type created content: application/json: schema: $ref: '#/components/schemas/Void' 400: description: Input validation failed content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' delete: tags: - Data producer (registration) summary: Individual Information Type operationId: deleteInfoType parameters: - name: infoTypeId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Not used content: application/json: schema: $ref: '#/components/schemas/Void' 204: description: Producer deleted content: application/json: schema: $ref: '#/components/schemas/Void' 404: description: Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: The Information type has one or several active producers content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /data-consumer/v1/info-type-subscription/{subscriptionId}: get: tags: - Data consumer summary: Individual subscription for information types (registration/deregistration) operationId: getIndividualTypeSubscription parameters: - name: subscriptionId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Type subscription content: application/json: schema: $ref: '#/components/schemas/consumer_type_subscription_info' 404: description: Subscription is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - Data consumer summary: Individual subscription for information types (registration/deregistration) description: This service operation is used to subscribe to notifications for changes in the availability of data types. operationId: putIndividualTypeSubscription parameters: - name: subscriptionId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/consumer_type_subscription_info' required: true responses: 200: description: Subscription updated content: application/json: schema: $ref: '#/components/schemas/Void' 201: description: Subscription created content: application/json: schema: $ref: '#/components/schemas/Void' delete: tags: - Data consumer summary: Individual subscription for information types (registration/deregistration) operationId: deleteIndividualTypeSubscription parameters: - name: subscriptionId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Not used content: application/json: schema: $ref: '#/components/schemas/Void' 204: description: Subscription deleted content: application/json: schema: $ref: '#/components/schemas/Void' 404: description: Subscription is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /actuator/loggers: get: tags: - Actuator summary: Actuator web endpoint 'loggers' operationId: handle_6 responses: 200: description: OK content: '*/*': schema: type: object /actuator/health/**: get: tags: - Actuator summary: Actuator web endpoint 'health-path' operationId: handle_12 responses: 200: description: OK content: '*/*': schema: type: object /data-consumer/v1/info-types: get: tags: - Data consumer summary: Information type identifiers operationId: getinfoTypeIdentifiers responses: 200: description: Information type identifiers content: application/json: schema: type: array items: type: string /actuator/metrics/{requiredMetricName}: get: tags: - Actuator summary: Actuator web endpoint 'metrics-requiredMetricName' operationId: handle_5 parameters: - name: requiredMetricName in: path required: true style: simple explode: false schema: type: string responses: 200: description: OK content: '*/*': schema: type: object /actuator: get: tags: - Actuator summary: Actuator root web endpoint operationId: links_1 responses: 200: description: OK content: '*/*': schema: type: object additionalProperties: type: object additionalProperties: $ref: '#/components/schemas/Link' /data-consumer/v1/info-jobs: get: tags: - Data consumer summary: Information Job identifiers description: query for information job identifiers operationId: getJobIds parameters: - name: infoTypeId in: query description: selects subscription jobs of matching information type required: false style: form explode: true schema: type: string - name: owner in: query description: selects result for one owner required: false style: form explode: true schema: type: string responses: 200: description: Information information job identifiers content: application/json: schema: type: array items: type: string 404: description: Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /actuator/loggers/{name}: get: tags: - Actuator summary: Actuator web endpoint 'loggers-name' operationId: handle_7 parameters: - name: name in: path required: true style: simple explode: false schema: type: string responses: 200: description: OK content: '*/*': schema: type: object post: tags: - Actuator summary: Actuator web endpoint 'loggers-name' operationId: handle_0 parameters: - name: name in: path required: true style: simple explode: false schema: type: string responses: 200: description: OK content: '*/*': schema: type: object /example_dataconsumer/info_jobs/{infoJobId}/status: post: tags: - A1-EI (callbacks) summary: Callback for changed Information Job status description: The primitive is implemented by the data consumer and is invoked when a Information Job status has been changed. operationId: jobStatusCallback parameters: - name: infoJobId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EiJobStatusObject' required: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Void' /A1-EI/v1/eijobs/{eiJobId}/status: get: tags: - A1-EI (registration) summary: EI job status operationId: getEiJobStatus_1 parameters: - name: eiJobId in: path required: true style: simple explode: false schema: type: string responses: 200: description: EI job status content: application/json: schema: $ref: '#/components/schemas/EiJobStatusObject' 404: description: Enrichment Information job is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /data-producer/v1/info-producers/{infoProducerId}/status: get: tags: - Data producer (registration) summary: Information producer status operationId: getInfoProducerStatus parameters: - name: infoProducerId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Information producer status content: application/json: schema: $ref: '#/components/schemas/producer_status' 404: description: Information producer is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /data-consumer/v1/info-jobs/{infoJobId}/status: get: tags: - Data consumer summary: Job status operationId: getEiJobStatus parameters: - name: infoJobId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Information subscription job status content: application/json: schema: $ref: '#/components/schemas/consumer_job_status' 404: description: Information subscription job is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /actuator/metrics: get: tags: - Actuator summary: Actuator web endpoint 'metrics' operationId: handle_4 responses: 200: description: OK content: '*/*': schema: type: object /actuator/info: get: tags: - Actuator summary: Actuator web endpoint 'info' operationId: handle_9 responses: 200: description: OK content: '*/*': schema: type: object /example_dataproducer/health_check: get: tags: - Data producer (callbacks) summary: Producer supervision description: The endpoint is provided by the Information Producer and is used for supervision of the producer. operationId: producerSupervision responses: 200: description: The producer is OK content: application/json: schema: type: string /A1-EI/v1/eitypes: get: tags: - A1-EI (registration) summary: EI type identifiers operationId: getEiTypeIdentifiers responses: 200: description: EI type identifiers content: application/json: schema: type: array items: type: string /data-producer/v1/info-producers/{infoProducerId}: get: tags: - Data producer (registration) summary: Individual Information Producer operationId: getInfoProducer parameters: - name: infoProducerId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Information producer content: application/json: schema: $ref: '#/components/schemas/producer_registration_info' 404: description: Information producer is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - Data producer (registration) summary: Individual Information Producer operationId: putInfoProducer parameters: - name: infoProducerId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/producer_registration_info' required: true responses: 200: description: Producer updated content: application/json: schema: $ref: '#/components/schemas/Void' 201: description: Producer created content: application/json: schema: $ref: '#/components/schemas/Void' 400: description: Input validation failed content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: Producer type not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' delete: tags: - Data producer (registration) summary: Individual Information Producer operationId: deleteInfoProducer parameters: - name: infoProducerId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Not used content: application/json: schema: $ref: '#/components/schemas/Void' 204: description: Producer deleted content: application/json: schema: $ref: '#/components/schemas/Void' 404: description: Producer is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /status: get: tags: - Service status summary: Returns status and statistics of this service operationId: getStatus responses: 200: description: Service is living content: application/json: schema: $ref: '#/components/schemas/service_status_info' /data-consumer/v1/info-type-subscription: get: tags: - Data consumer summary: Information type subscription identifiers description: query for information type subscription identifiers operationId: getInfoTypeSubscriptions parameters: - name: owner in: query description: selects result for one owner required: false style: form explode: true schema: type: string responses: 200: description: Information type subscription identifiers content: application/json: schema: type: array items: type: string /A1-EI/v1/eijobs/{eiJobId}: get: tags: - A1-EI (registration) summary: Individual EI job operationId: getIndividualEiJob_1 parameters: - name: eiJobId in: path required: true style: simple explode: false schema: type: string responses: 200: description: EI job content: application/json: schema: $ref: '#/components/schemas/EiJobObject' 404: description: Enrichment Information job is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - A1-EI (registration) summary: Individual EI job operationId: putIndividualEiJob parameters: - name: eiJobId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EiJobObject' required: true responses: 200: description: Job updated content: application/json: schema: $ref: '#/components/schemas/Void' 201: description: Job created content: application/json: schema: $ref: '#/components/schemas/Void' 400: description: Input validation failed content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: Enrichment Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: Cannot modify job type content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' delete: tags: - A1-EI (registration) summary: Individual EI job operationId: deleteIndividualEiJob_1 parameters: - name: eiJobId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Not used content: application/json: schema: $ref: '#/components/schemas/Void' 204: description: Job deleted content: application/json: schema: $ref: '#/components/schemas/Void' 404: description: Enrichment Information job is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /actuator/logfile: get: tags: - Actuator summary: Actuator web endpoint 'logfile' operationId: handle_8 responses: 200: description: OK content: '*/*': schema: type: object /data-consumer/v1/info-jobs/{infoJobId}: get: tags: - Data consumer summary: Individual data subscription job operationId: getIndividualEiJob parameters: - name: infoJobId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Information subscription job content: application/json: schema: $ref: '#/components/schemas/consumer_job' 404: description: Information subscription job is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - Data consumer summary: Individual data subscription job description: The job will be enabled when a producer is available operationId: putIndividualInfoJob parameters: - name: infoJobId in: path required: true style: simple explode: false schema: type: string - name: typeCheck in: query description: when true, a validation of that the type exists and that the job matches the type schema. required: false style: form explode: true schema: type: boolean default: false requestBody: content: application/json: schema: $ref: '#/components/schemas/consumer_job' required: true responses: 200: description: Job updated content: application/json: schema: $ref: '#/components/schemas/Void' 201: description: Job created content: application/json: schema: $ref: '#/components/schemas/Void' 400: description: Input validation failed content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 404: description: Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 409: description: Cannot modify job type content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' delete: tags: - Data consumer summary: Individual data subscription job operationId: deleteIndividualEiJob parameters: - name: infoJobId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Not used content: application/json: schema: $ref: '#/components/schemas/Void' 204: description: Job deleted content: application/json: schema: $ref: '#/components/schemas/Void' 404: description: Information subscription job is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /data-producer/v1/info-producers: get: tags: - Data producer (registration) summary: Information producer identifiers operationId: getInfoProducerIdentifiers parameters: - name: info_type_id in: query description: If given, only the producers for the EI Data type is returned. required: false style: form explode: true schema: type: string responses: 200: description: Information producer identifiers content: application/json: schema: type: array items: type: string /data-consumer/v1/info-types/{infoTypeId}: get: tags: - Data consumer summary: Individual information type operationId: getInfoType_1 parameters: - name: infoTypeId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Information type content: application/json: schema: $ref: '#/components/schemas/consumer_information_type' 404: description: Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /actuator/health: get: tags: - Actuator summary: Actuator web endpoint 'health' operationId: handle_11 responses: 200: description: OK content: '*/*': schema: type: object /A1-EI/v1/eijobs: get: tags: - A1-EI (registration) summary: EI job identifiers description: query for EI job identifiers operationId: getEiJobIds parameters: - name: eiTypeId in: query description: selects EI jobs of matching EI type required: false style: form explode: true schema: type: string - name: owner in: query description: selects EI jobs for one EI job owner required: false style: form explode: true schema: type: string responses: 200: description: EI job identifiers content: application/json: schema: type: array items: type: string 404: description: Enrichment Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /data-producer/v1/info-producers/{infoProducerId}/info-jobs: get: tags: - Data producer (registration) summary: Information Job definitions description: Information Job definitions for one Information Producer operationId: getInfoProducerJobs parameters: - name: infoProducerId in: path required: true style: simple explode: false schema: type: string responses: 200: description: Information producer content: application/json: schema: type: array items: $ref: '#/components/schemas/producer_info_job_request' 404: description: Information producer is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /example_dataconsumer/info_type_status: post: tags: - Data consumer (callbacks) summary: Callback for changed Information type registration status description: The primitive is implemented by the data consumer and is invoked when a Information type status has been changed.