openapi: 3.0.1
info:
- title: Enrichment Information Service
+ title: Data management and exposure
description: <h1>API documentation</h1><h2>General</h2><p> The service is mainly
a broker between data producers and data consumers. A data producer has the ability
- to producer one or several type of data (EI type). One type of data can be produced
+ to produce one or several types of data (EI type). One type of data can be produced
by zero to many producers. <br /><br />A data consumer can have several active
data subscriptions (EI job). One EI 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.</p><h2>APIs provided by the service</h2><h4>A1-EI</h4><p> This
- API is between Near-RT RIC, which is a data consumer, and the Non-RT RIC. </p><h4>Data
- producer API</h4><p> This API is between data producers and this service. It
- is divivided into two parts, where one is provided by this service (registration)
- and one part is provided by the data producer.</p><h4>EI Service status</h4><p> This
- API provides a means to monitor the service.</p>
+ API is between Near-RT RIC and the Non-RT RIC. The Near-RT RIC is a data consumer,
+ which creates Enrichment Information Jobs to subscribe for data.</p><h4>Data producer
+ API</h4><p> 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:<ul><li>Registry of supported information types
+ and which parameters needed to setup a subscription.</li><li>Registry of existing
+ data producers.</li><li>Callback API provided by producers to setup subscriptions.</li></ul></p><h4>Data
+ consumer API</h4><p> 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:<ul><li>Querying of available types of
+ data to consume.</li><li>Management of data subscription jobs</li></ul></p><h4>EI
+ Service status</h4><p> This API provides a means to monitor the service.</p>
license:
name: Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License.
url: http://www.apache.org/licenses/LICENSE-2.0
description: API implemented by data producers
- name: Data producer (registration)
description: API for data producers
-- name: EI Service status
+- name: Service status
description: API for monitoring of the service
+- name: Data consumer
+ description: API for data consumers
paths:
/producer_simulator/ei_job:
post:
type: array
items:
type: string
+ /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
/ei-producer/v1/eiproducers/{eiProducerId}/status:
get:
tags:
/status:
get:
tags:
- - EI Service status
+ - Service status
summary: Returns status and statistics of this service
operationId: getStatus
responses:
tags:
- A1-EI (registration)
summary: Individual EI job
- operationId: getIndividualEiJob
+ operationId: getIndividualEiJob_1
parameters:
- name: eiJobId
in: path
tags:
- A1-EI (registration)
summary: Individual EI job
- operationId: deleteIndividualEiJob
+ operationId: deleteIndividualEiJob_1
parameters:
- name: eiJobId
in: path
application/json:
schema:
$ref: '#/components/schemas/Void'
+ 404:
+ description: Producer not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
delete:
tags:
- Data producer (registration)
application/json:
schema:
type: string
+ /data-consumer/v1/info-jobs:
+ get:
+ tags:
+ - Data consumer
+ summary: EI 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 subscription jobs for one job 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'
+ /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/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
+ operationId: putIndividualInfoJob
+ parameters:
+ - name: infoJobId
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/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'
+ 404:
+ description: Enrichment Information type is not found
+ 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'
/ei-producer/v1/eiproducers/{eiProducerId}/eijobs:
get:
tags:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
+ /data-consumer/v1/info-types/{infoTypeId}:
+ get:
+ tags:
+ - Data consumer
+ summary: Individual information type
+ operationId: getInfoType
+ 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/InformationType'
+ 404:
+ description: Information type is not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
/A1-EI/v1/eijobs:
get:
tags:
tags:
- A1-EI (registration)
summary: EI job status
- operationId: getEiJobStatus
+ operationId: getEiJobStatus_1
parameters:
- name: eiJobId
in: path
application/json:
schema:
$ref: '#/components/schemas/Void'
+ /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/JobStatus'
+ 404:
+ description: Information subscription job is not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
components:
schemas:
producer_ei_job_request:
type: string
description: callback for EI job
description: Information for an EI producer
- producer_status:
- required:
- - operational_state
- type: object
- properties:
- operational_state:
- type: string
- description: Represents the operational states
- enum:
- - ENABLED
- - DISABLED
- description: Status for an EI Producer
ProblemDetails:
type: object
properties:
example: 404
description: A problem detail to carry details in a HTTP response according
to RFC 7807
- Void:
- type: object
- description: 'Void/empty '
EiJobStatusObject:
required:
- eiJobStatus
type: object
description: EI type specific job data
description: Information for an Enrichment Information Job
+ JobStatus:
+ required:
+ - eiJobStatus
+ type: object
+ properties:
+ eiJobStatus:
+ type: string
+ description: Allowed values for EI job status
+ enum:
+ - ENABLED
+ - DISABLED
+ description: Status for an EI job
+ producer_status:
+ required:
+ - operational_state
+ type: object
+ properties:
+ operational_state:
+ type: string
+ description: Represents the operational states
+ enum:
+ - ENABLED
+ - DISABLED
+ description: Status for an EI Producer
+ Void:
+ type: object
+ description: 'Void/empty '
+ Job:
+ required:
+ - infoTypeId
+ - jobDefinition
+ - jobOwner
+ - jobResultUri
+ type: object
+ properties:
+ jobResultUri:
+ type: string
+ description: The target URI of the subscribed information
+ infoTypeId:
+ type: string
+ description: Information type Idenitifier of the subscription job
+ jobOwner:
+ type: string
+ description: Identity of the owner of the job
+ statusNotificationUri:
+ type: string
+ description: The target of Information subscription job status notifications
+ jobDefinition:
+ type: object
+ description: Information type specific job data
+ description: Information for an Enrichment Information Job
+ InformationType:
+ required:
+ - consumer_job_data_schema
+ type: object
+ properties:
+ consumer_job_data_schema:
+ type: object
+ description: Json schema for the job data
+ description: Information for an Information type