| openapi: 3.0.1 |
| info: |
| title: Enrichment Information Service |
| 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 |
| by zero to many producers. <br /><br />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.</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> |
| 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 |