openapi: 3.0.1 info: title: Enrichment Information Service description:

API documentation

General

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 by zero to many producers.

A data consumer can have several active data subscriptions (EI job). One EI job consists of the the type of data to produce and additional parameters for filtering of the data. These parameters are different for different data types.

APIs provided by the service

A1-EI

This API is between Near-RT RIC, which is a data consumer and the Non-RT RIC.

Data producer API

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.

EI Service status

This API provides a means to monitor the 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: EI Service status description: API for monitoring of the service paths: /producer_simulator/ei_job: post: tags: - Data producer (callbacks) summary: Callback for EI job creation/modification description: The call is invoked to activate or to modify a data subscription. The endpoint is provided by the EI producer. operationId: jobCreatedCallback requestBody: content: application/json: schema: $ref: '#/components/schemas/producer_ei_job_request' required: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Void' /A1-EI/v1/eitypes/{eiTypeId}: get: tags: - A1-EI (registration) summary: Individual EI type operationId: getEiType_1 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' /ei-producer/v1/eitypes: get: tags: - Data producer (registration) summary: EI type identifiers operationId: getEiTypeIdentifiers responses: 200: description: EI type identifiers content: application/json: schema: type: array items: type: string /A1-EI/v1/eitypes: get: tags: - A1-EI (registration) summary: EI type identifiers operationId: getEiTypeIdentifiers_1 responses: 200: description: EI type identifiers content: application/json: schema: type: array items: type: string /ei-producer/v1/eiproducers/{eiProducerId}/status: get: tags: - Data producer (registration) summary: EI producer status operationId: getEiProducerStatus parameters: - name: eiProducerId in: path required: true style: simple explode: false schema: type: string responses: 200: description: EI producer status content: application/json: schema: $ref: '#/components/schemas/producer_status' 404: description: Enrichment Information producer is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /producer_simulator/ei_job/{eiJobId}: delete: tags: - Data producer (callbacks) summary: Callback for EI job deletion description: The call is invoked to terminate a data subscription. The endpoint is provided by the EI producer. operationId: jobDeletedCallback parameters: - name: eiJobId in: path required: true style: simple explode: false schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Void' /ei-producer/v1/eitypes/{eiTypeId}: get: tags: - Data producer (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/producer_ei_type_info' 404: description: Enrichment Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - Data producer (registration) summary: Individual EI type operationId: putEiType parameters: - name: eiTypeId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/producer_ei_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: Bad request content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' delete: tags: - Data producer (registration) summary: Individual EI type operationId: deleteEiType parameters: - name: eiTypeId 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: Enrichment Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' 406: description: The Enrichment Information type has one or several active producers content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /status: get: tags: - EI 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/status_info' /ei-producer/v1/eiproducers: get: tags: - Data producer (registration) summary: EI producer identifiers operationId: getEiProducerIdentifiers parameters: - name: ei_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: EI producer 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 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' 404: description: Enrichment Information type is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' delete: tags: - A1-EI (registration) summary: Individual EI job operationId: deleteIndividualEiJob 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' /ei-producer/v1/eiproducers/{eiProducerId}: get: tags: - Data producer (registration) summary: Individual EI producer operationId: getEiProducer parameters: - name: eiProducerId in: path required: true style: simple explode: false schema: type: string responses: 200: description: EI producer content: application/json: schema: $ref: '#/components/schemas/producer_registration_info' 404: description: Enrichment Information producer is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' put: tags: - Data producer (registration) summary: Individual EI producer operationId: putEiProducer parameters: - name: eiProducerId 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' delete: tags: - Data producer (registration) summary: Individual EI producer operationId: deleteEiProducer parameters: - name: eiProducerId 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' /producer_simulator/health_check: get: tags: - Data producer (callbacks) summary: Producer supervision description: The endpoint is provided by the EI producer and is used for supervision of the producer. operationId: producerSupervision responses: 200: description: The producer is OK content: application/json: schema: type: string /ei-producer/v1/eiproducers/{eiProducerId}/eijobs: get: tags: - Data producer (registration) summary: EI job definitions description: EI job definitions for one EI producer operationId: getEiProducerJobs parameters: - name: eiProducerId in: path required: true style: simple explode: false schema: type: string responses: 200: description: EI producer content: application/json: schema: type: array items: $ref: '#/components/schemas/producer_ei_job_request' 404: description: Enrichment Information producer is not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /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' /A1-EI/v1/eijobs/{eiJobId}/status: get: tags: - A1-EI (registration) summary: EI job status operationId: getEiJobStatus 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' /example_dataconsumer/eijobs/{eiJobId}/status: post: tags: - A1-EI (callbacks) summary: Callback for changed EI job status description: The primitive is implemented by the data consumer and is invoked when a EI job status has been changed. operationId: jobStatusCallback parameters: - name: eiJobId 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' components: schemas: producer_ei_job_request: required: - ei_job_identity type: object properties: owner: type: string description: The owner of the job ei_job_identity: type: string description: Idenitity of the EI job last_updated: type: string description: The time when the job was last updated or created (ISO-8601) ei_job_data: type: object description: Json for the job data target_uri: type: string description: URI for the target of the EI ei_type_identity: type: string description: Type idenitity for the job description: The body of the EI producer callbacks for EI job creation and deletion EiTypeObject: type: object description: Information for an EI type status_info: required: - no_of_jobs - no_of_producers - no_of_types - status type: object properties: no_of_producers: type: integer description: Number of EI producers format: int32 no_of_types: type: integer description: Number of EI types format: int32 no_of_jobs: type: integer description: Number of EI jobs format: int32 status: type: string description: status text producer_ei_type_info: required: - ei_job_data_schema type: object properties: ei_job_data_schema: type: object description: Json schema for the job data description: Information for an EI type producer_registration_info: required: - ei_job_callback_url - ei_producer_supervision_callback_url - supported_ei_types type: object properties: supported_ei_types: type: array description: Supported EI type IDs items: type: string description: Supported EI type IDs ei_producer_supervision_callback_url: type: string description: callback for producer supervision ei_job_callback_url: 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: detail: type: string description: A human-readable explanation specific to this occurrence of the problem. example: EI job type not found status: type: integer description: The HTTP status code generated by the origin server for this occurrence of the problem. format: int32 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 properties: eiJobStatus: type: string description: Allowed values for EI job status enum: - ENABLED - DISABLED description: Status for an EI job EiJobObject: required: - eiTypeId - jobDefinition - jobOwner - jobResultUri type: object properties: eiTypeId: type: string description: EI type Idenitifier of the EI job jobResultUri: type: string description: The target URI of the EI data jobOwner: type: string description: Identity of the owner of the job statusNotificationUri: type: string description: The target of EI job status notifications jobDefinition: type: object description: EI type specific job data description: Information for an Enrichment Information Job