openapi: 3.0.1
info:
- title: Enrichment Data service
- description: This page lists all the rest apis for the 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 produce one or several types of data (Information Type). One type of data can
+ be produced by zero to many producers. <br /><br />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.</p><h2>APIs provided by the
+ service</h2><h4>A1-EI</h4><p> 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.</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><li>Optional callback API provided by consumers to get notification on
+ added and removed information types.</li></ul></p><h4>Service status</h4><p> This
+ API provides a means to monitor the health of this 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 (enrichment information)
- description: Consumer Controller
-- name: A1-EI (enrichment information) callbacks
- description: Consumer Simulator Controller
-- name: Data Producer Job Control (example producer)
- description: Producer Simulator Controller
-- name: Data Producer Registry API
- description: Producer Controller
+- 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: Status Controller
+ description: API for monitoring of the service
+- name: Data consumer
+ description: API for data consumers
paths:
- /producer_simulator/ei_job:
- post:
+ /example_dataproducer/info_job/{infoJobId}:
+ delete:
tags:
- - Data Producer Job Control (example producer)
- summary: Callback for EI job creation
- operationId: jobCreatedCallbackUsingPOST
- requestBody:
- description: request
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/producer_ei_job_request'
+ - 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: {}
- 201:
- description: Created
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
- 404:
- description: Not Found
- content: {}
- deprecated: false
+ 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 (enrichment information)
+ - A1-EI (registration)
summary: Individual EI type
- operationId: getEiTypeUsingGET
+ operationId: getEiType
parameters:
- name: eiTypeId
in: path
- description: eiTypeId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
application/json:
schema:
$ref: '#/components/schemas/EiTypeObject'
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
404:
description: Enrichment Information type is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
- /consumer_simulator/eijobs/{eiJobId}/status:
+ /example_dataproducer/info_job:
post:
tags:
- - A1-EI (enrichment information) callbacks
- summary: Callback for EI job status
- operationId: jobStatusCallbackUsingPOST
+ - 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: eiJobId
+ - 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
- description: eiJobId
required: true
+ style: simple
+ explode: false
schema:
type: string
requestBody:
- description: status
content:
application/json:
schema:
- $ref: '#/components/schemas/EiJobStatusObject'
+ $ref: '#/components/schemas/producer_info_type_info'
required: true
responses:
200:
- description: OK
- content: {}
+ description: Type updated
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
201:
- description: Created
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
- 404:
- description: Not Found
- content: {}
- deprecated: false
- /ei-producer/v1/eitypes:
- get:
+ 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 Registry API
- summary: EI type identifiers
- operationId: getEiTypeIdentifiersUsingGET_1
+ - 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: EI type identifiers
+ description: Not used
content:
application/json:
schema:
- type: array
- items:
- type: string
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ $ref: '#/components/schemas/Void'
+ 204:
+ description: Producer deleted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
404:
- description: Not Found
- content: {}
- deprecated: false
- /A1-EI/v1/eitypes:
+ description: Information type is not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ 406:
+ 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:
- - A1-EI (enrichment information)
- summary: EI type identifiers
- operationId: getEiTypeIdentifiersUsingGET
+ - 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: EI type identifiers
+ description: Type subscription
content:
application/json:
schema:
- type: array
- items:
- type: string
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ $ref: '#/components/schemas/consumer_type_subscription_info'
404:
- description: Not Found
- content: {}
- deprecated: false
- /ei-producer/v1/eiproducers/{eiProducerId}/status:
- get:
+ description: Subscription is not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
+ put:
tags:
- - Data Producer Registry API
- summary: EI producer status
- operationId: getEiProducerStatusUsingGET
+ - 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: eiProducerId
+ - name: subscriptionId
in: path
- description: eiProducerId
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: EI jobs
+ description: Subscription updated
content:
application/json:
schema:
- $ref: '#/components/schemas/producer_status'
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
- 404:
- description: Enrichment Information producer is not found
+ $ref: '#/components/schemas/Void'
+ 201:
+ description: Subscription created
content:
application/json:
schema:
- $ref: '#/components/schemas/ProblemDetails'
- deprecated: false
- /producer_simulator/ei_job/{eiJobId}:
+ $ref: '#/components/schemas/Void'
delete:
tags:
- - Data Producer Job Control (example producer)
- summary: Callback for EI job deletion
- operationId: jobDeletedCallbackUsingDELETE
+ - Data consumer
+ summary: Individual subscription for information types (registration/deregistration)
+ operationId: deleteIndividualTypeSubscription
parameters:
- - name: eiJobId
+ - name: subscriptionId
in: path
- description: eiJobId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
200:
- description: OK
- content: {}
+ description: Not used
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
204:
- description: No Content
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
- deprecated: false
- /ei-producer/v1/eiproducers:
+ 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'
+ /example_dataproducer/health_check:
get:
tags:
- - Data Producer Registry API
- summary: EI producer identifiers
- operationId: getEiProducerIdentifiersUsingGET
- parameters:
- - name: ei_type_id
- in: query
- description: If given, only the producers for the EI Data type is returned.
- allowEmptyValue: false
- schema:
- type: string
+ - 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: EI producer identifiers
+ 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
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
- 404:
- description: Not Found
- content: {}
- deprecated: false
- /ei-producer/v1/eitypes/{eiTypeId}:
+ /data-consumer/v1/info-types:
get:
tags:
- - Data Producer Registry API
- summary: Individual EI type
- operationId: getEiTypeUsingGET_1
+ - Data consumer
+ summary: Information type identifiers
+ operationId: getinfoTypeIdentifiers
+ responses:
+ 200:
+ description: Information 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: eiTypeId
+ - name: infoProducerId
in: path
- description: eiTypeId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
200:
- description: EI type
+ description: Information producer
content:
application/json:
schema:
- $ref: '#/components/schemas/producer_ei_type_info'
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ $ref: '#/components/schemas/producer_registration_info'
404:
- description: Enrichment Information type is not found
+ description: Information producer is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
put:
tags:
- - Data Producer Registry API
- summary: Individual EI type
- operationId: putEiTypeUsingPUT
+ - Data producer (registration)
+ summary: Individual Information Producer
+ operationId: putInfoProducer
parameters:
- - name: eiTypeId
+ - name: infoProducerId
in: path
- description: eiTypeId
required: true
+ style: simple
+ explode: false
schema:
type: string
requestBody:
- description: registrationInfo
content:
application/json:
schema:
- $ref: '#/components/schemas/producer_ei_type_info'
+ $ref: '#/components/schemas/producer_registration_info'
required: true
responses:
200:
- description: OK
+ description: Producer updated
content:
application/json:
schema:
- type: object
+ $ref: '#/components/schemas/Void'
201:
- description: Created
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ description: Producer created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
404:
- description: Not Found
- content: {}
- deprecated: false
+ description: Producer not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
delete:
tags:
- - Data Producer Registry API
- summary: Individual EI type
- operationId: deleteEiTypeUsingDELETE
+ - Data producer (registration)
+ summary: Individual Information Producer
+ operationId: deleteInfoProducer
parameters:
- - name: eiTypeId
+ - name: infoProducerId
in: path
- description: eiTypeId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
200:
description: Not used
- content: {}
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
204:
description: Producer deleted
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
- 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
+ $ref: '#/components/schemas/Void'
+ 404:
+ description: Producer is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
/status:
get:
tags:
- Service status
summary: Returns status and statistics of this service
- operationId: getStatusUsingGET
+ operationId: getStatus
responses:
200:
description: Service is living
content:
application/json:
schema:
- $ref: '#/components/schemas/status_info'
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
- 404:
- description: Not Found
- content: {}
- deprecated: false
+ $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 (enrichment information)
+ - A1-EI (registration)
summary: Individual EI job
- operationId: getIndividualEiJobUsingGET
+ operationId: getIndividualEiJob_1
parameters:
- name: eiJobId
in: path
- description: eiJobId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
application/json:
schema:
$ref: '#/components/schemas/EiJobObject'
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
404:
description: Enrichment Information job is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
put:
tags:
- - A1-EI (enrichment information)
+ - A1-EI (registration)
summary: Individual EI job
- operationId: putIndividualEiJobUsingPUT
+ operationId: putIndividualEiJob
parameters:
- name: eiJobId
in: path
- description: eiJobId
required: true
+ style: simple
+ explode: false
schema:
type: string
requestBody:
- description: eiJobObject
content:
application/json:
schema:
responses:
200:
description: Job updated
- content: {}
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
201:
description: Job created
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
404:
description: Enrichment Information type is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
delete:
tags:
- - A1-EI (enrichment information)
+ - A1-EI (registration)
summary: Individual EI job
- operationId: deleteIndividualEiJobUsingDELETE
+ operationId: deleteIndividualEiJob_1
parameters:
- name: eiJobId
in: path
- description: eiJobId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
200:
description: Not used
- content: {}
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
204:
description: Job deleted
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
404:
description: Enrichment Information job is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
- /ei-producer/v1/eiproducers/{eiProducerId}:
+ /data-consumer/v1/info-jobs:
get:
tags:
- - Data Producer Registry API
- summary: Individual EI producer
- operationId: getEiProducerUsingGET
+ - Data consumer
+ summary: Information Job identifiers
+ description: query for information job identifiers
+ operationId: getJobIds
parameters:
- - name: eiProducerId
+ - 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'
+ /data-consumer/v1/info-jobs/{infoJobId}:
+ get:
+ tags:
+ - Data consumer
+ summary: Individual data subscription job
+ operationId: getIndividualEiJob
+ parameters:
+ - name: infoJobId
in: path
- description: eiProducerId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
200:
- description: EI jobs
+ description: Information subscription job
content:
application/json:
schema:
- $ref: '#/components/schemas/producer_registration_info'
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ $ref: '#/components/schemas/consumer_job'
404:
- description: Enrichment Information producer is not found
+ description: Information subscription job is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
put:
tags:
- - Data Producer Registry API
- summary: Individual EI producer
- operationId: putEiProducerUsingPUT
+ - Data consumer
+ summary: Individual data subscription job
+ description: The job will be enabled when a producer is available
+ operationId: putIndividualInfoJob
parameters:
- - name: eiProducerId
+ - name: infoJobId
in: path
- description: eiProducerId
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:
- description: registrationInfo
content:
application/json:
schema:
- $ref: '#/components/schemas/producer_registration_info'
+ $ref: '#/components/schemas/consumer_job'
required: true
responses:
200:
- description: Producer updated
- content: {}
+ description: Job updated
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
201:
- description: Producer created
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ description: Job created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
404:
- description: Not Found
- content: {}
- deprecated: false
+ description: Information type is not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProblemDetails'
delete:
tags:
- - Data Producer Registry API
- summary: Individual EI producer
- operationId: deleteEiProducerUsingDELETE
+ - Data consumer
+ summary: Individual data subscription job
+ operationId: deleteIndividualEiJob
parameters:
- - name: eiProducerId
+ - name: infoJobId
in: path
- description: eiProducerId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
200:
description: Not used
- content: {}
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
204:
- description: Producer deleted
- content: {}
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ description: Job deleted
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
404:
- description: Producer is not found
+ description: Information subscription job is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
- /producer_simulator/health_check:
+ /data-producer/v1/info-producers:
get:
tags:
- - Data Producer Job Control (example producer)
- summary: Producer supervision
- operationId: producerSupervisionUsingGET
+ - 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: OK
+ description: Information producer identifiers
content:
application/json:
schema:
- type: string
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
- 404:
- description: Not Found
- content: {}
- deprecated: false
- /ei-producer/v1/eiproducers/{eiProducerId}/eijobs:
+ type: array
+ items:
+ type: string
+ /data-consumer/v1/info-types/{infoTypeId}:
get:
tags:
- - Data Producer Registry API
- summary: EI job definitions
- description: EI job definitions for one EI producer
- operationId: getEiProducerJobsUsingGET
+ - Data consumer
+ summary: Individual information type
+ operationId: getInfoType_1
parameters:
- - name: eiProducerId
+ - name: infoTypeId
in: path
- description: eiProducerId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
200:
- description: EI jobs
+ description: Information type
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/producer_ei_job_request'
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
+ $ref: '#/components/schemas/consumer_information_type'
404:
- description: Enrichment Information producer is not found
+ description: Information type is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
+ /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:
get:
tags:
- - A1-EI (enrichment information)
+ - A1-EI (registration)
summary: EI job identifiers
description: query for EI job identifiers
- operationId: getEiJobIdsUsingGET
+ operationId: getEiJobIds
parameters:
- name: eiTypeId
in: query
description: selects EI jobs of matching EI type
- allowEmptyValue: false
+ required: false
+ style: form
+ explode: true
schema:
type: string
- name: owner
in: query
description: selects EI jobs for one EI job owner
- allowEmptyValue: false
+ required: false
+ style: form
+ explode: true
schema:
type: string
responses:
type: array
items:
type: string
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
404:
description: Enrichment Information type is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
/A1-EI/v1/eijobs/{eiJobId}/status:
get:
tags:
- - A1-EI (enrichment information)
+ - A1-EI (registration)
summary: EI job status
- operationId: getEiJobStatusUsingGET
+ operationId: getEiJobStatus_1
parameters:
- name: eiJobId
in: path
- description: eiJobId
required: true
+ style: simple
+ explode: false
schema:
type: string
responses:
application/json:
schema:
$ref: '#/components/schemas/EiJobStatusObject'
- 401:
- description: Unauthorized
- content: {}
- 403:
- description: Forbidden
- content: {}
404:
description: Enrichment Information job is not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
- deprecated: false
+ /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-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'
+ /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'
+ /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. <br/>Subscription are managed
+ by primitives in 'Data consumer'
+ operationId: typeStatusCallback
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/consumer_type_registration_info'
+ required: true
+ responses:
+ 200:
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Void'
components:
schemas:
- producer_ei_job_request:
- title: producer_ei_job_request
+ consumer_information_type:
required:
- - ei_job_identity
+ - job_data_schema
+ - no_of_producers
+ - type_status
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:
+ no_of_producers:
+ type: integer
+ description: The number of registered producers for the type
+ format: int32
+ type_status:
type: string
- description: The time when the job was last updated or created (ISO-8601)
- ei_job_data:
+ description: 'Allowed values: <br/>ENABLED: one or several producers for
+ the information type are available <br/>DISABLED: no producers for the
+ information type are available'
+ enum:
+ - ENABLED
+ - DISABLED
+ job_data_schema:
type: object
- properties: {}
- 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
+ description: Json schema for the job data
+ description: Information for an Information type
EiTypeObject:
- title: EiTypeObject
type: object
description: Information for an EI type
- status_info:
- title: status_info
+ service_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
+ description: Number of Information Producers
format: int32
- no_of_jobs:
+ no_of_types:
type: integer
- description: Number of EI jobs
+ description: Number of Information Types
format: int32
- no_of_types:
+ no_of_jobs:
type: integer
- description: Number of EI types
+ description: Number of Information Jobs
format: int32
status:
type: string
description: status text
- Mono«ResponseEntity«object»»:
- title: Mono«ResponseEntity«object»»
- type: object
- producer_ei_type_info:
- title: producer_ei_type_info
- type: object
- properties:
- ei_job_data_schema:
- type: object
- properties: {}
- description: Json schema for the job data
- description: Information for an EI type
producer_registration_info:
- title: producer_registration_info
required:
- - ei_job_callback_url
- - ei_producer_supervision_callback_url
- - supported_ei_types
+ - info_job_callback_url
+ - info_producer_supervision_callback_url
+ - supported_info_types
type: object
properties:
- supported_ei_types:
+ info_producer_supervision_callback_url:
+ type: string
+ description: callback for producer supervision
+ supported_info_types:
type: array
- description: Supported EI type IDs
+ description: Supported Information Type IDs
items:
type: string
- ei_producer_supervision_callback_url:
- type: string
- description: callback for producer supervision
- ei_job_callback_url:
+ description: Supported Information Type IDs
+ info_job_callback_url:
type: string
- description: callback for EI job
- description: Information for an EI producer
- producer_status:
- title: producer_status
+ description: callback for Information Job
+ description: Information for an Information Producer
+ consumer_type_registration_info:
required:
- - operational_state
+ - info_type_id
+ - job_data_schema
+ - status
type: object
properties:
- operational_state:
+ info_type_id:
+ type: string
+ description: Information type identifier
+ job_data_schema:
+ type: object
+ description: Json schema for the job data
+ status:
type: string
- description: |-
- Operational state, values:
- ENABLED: TBD
- DISABLED: TBD.
+ description: 'Allowed values: <br/>REGISTERED: the information type has
+ been registered <br/>DEREGISTERED: the information type has been removed'
enum:
- - ENABLED
- - DISABLED
- description: Status for an EI Producer
+ - REGISTERED
+ - DEREGISTERED
+ description: Information for an Information type
ProblemDetails:
- title: 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
+ example: Information Job type not found
status:
type: integer
description: The HTTP status code generated by the origin server for this
example: 404
description: A problem detail to carry details in a HTTP response according
to RFC 7807
- Void:
- title: Void
- type: object
- description: Void/empty
EiJobStatusObject:
- title: EiJobStatusObject
required:
- eiJobStatus
type: object
properties:
eiJobStatus:
type: string
- description: |-
- values:
- ENABLED: the A1-EI producer is able to deliver EI result for the EI job
- DISABLED: the A1-EI producer is unable to deliver EI result for the EI job
+ description: 'Allowed values for EI job status: <br/>ENABLED: the A1-EI
+ producer is able to deliver EI result for the EI job <br/>DISABLED: the
+ A1-EI producer is unable to deliver EI result for the EI job'
enum:
- ENABLED
- DISABLED
description: Status for an EI job
+ consumer_job_status:
+ required:
+ - info_job_status
+ - producers
+ type: object
+ properties:
+ info_job_status:
+ type: string
+ description: 'Allowed values: <br/>ENABLED: the A1-Information producer
+ is able to deliver result for the Information Job <br/>DISABLED: the A1-Information
+ producer is unable to deliver result for the Information Job'
+ enum:
+ - ENABLED
+ - DISABLED
+ producers:
+ type: array
+ description: An array of all registered Information Producer Identifiers.
+ items:
+ type: string
+ description: An array of all registered Information Producer Identifiers.
+ description: Status for an Information Job
EiJobObject:
- title: EiJobObject
required:
- eiTypeId
- jobDefinition
jobOwner:
type: string
description: Identity of the owner of the job
- jobStatusNotificationUri:
+ statusNotificationUri:
type: string
description: The target of EI job status notifications
jobDefinition:
type: object
- properties: {}
description: EI type specific job data
description: Information for an Enrichment Information Job
+ producer_info_type_info:
+ required:
+ - info_job_data_schema
+ type: object
+ properties:
+ info_type_information:
+ type: object
+ description: Type specific information for the information type
+ info_job_data_schema:
+ type: object
+ description: Json schema for the job data
+ description: Information for an Information Type
+ producer_info_job_request:
+ required:
+ - info_job_identity
+ type: object
+ properties:
+ owner:
+ type: string
+ description: The owner of the job
+ last_updated:
+ type: string
+ description: The time when the job was last updated or created (ISO-8601)
+ info_job_identity:
+ type: string
+ description: Identity of the Information Job
+ target_uri:
+ type: string
+ description: URI for the target of the produced Information
+ info_job_data:
+ type: object
+ description: Json for the job data
+ info_type_identity:
+ type: string
+ description: Type identity for the job
+ description: The body of the Information Producer callbacks for Information
+ Job creation and deletion
+ consumer_job:
+ required:
+ - info_type_id
+ - job_definition
+ - job_owner
+ - job_result_uri
+ type: object
+ properties:
+ info_type_id:
+ type: string
+ description: Information type Idenitifier of the subscription job
+ job_result_uri:
+ type: string
+ description: The target URI of the subscribed information
+ job_owner:
+ type: string
+ description: Identity of the owner of the job
+ job_definition:
+ type: object
+ description: Information type specific job data
+ status_notification_uri:
+ type: string
+ description: The target of Information subscription job status notifications
+ description: Information for an Enrichment Information 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 Info Producer
+ Void:
+ type: object
+ description: 'Void/empty '
+ consumer_type_subscription_info:
+ required:
+ - owner
+ - status_result_uri
+ type: object
+ properties:
+ owner:
+ type: string
+ description: Identity of the owner of the subscription
+ status_result_uri:
+ type: string
+ description: The target URI of the subscribed information
+ description: Information for an information type subscription