openapi: 3.2.0 info: title: Mef Subscription API version: 1.0.0 description: 'Operations tagged subscription across 6 of this provider''s published API definitions: mef-lso-allegro-streaming-management-all-in-one-openapi.yml, mef-lso-allegro-streaming-management-openapi.yml, mef-lso-interlude-streaming-management-all-in-one-openapi.yml, mef-lso-interlude-streaming-management-openapi.yml, mef-lso-legato-streaming-management-all-in-one-openapi.yml, mef-lso-legato-streaming-management-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://{serverBase}/mefApi/allegro/streamingManagement/v1 variables: serverBase: default: mplify.net description: The base of SOF's URL. - url: https://{serverBase}/mefApi/interlude/streamingManagement/v1 variables: serverBase: default: mplify.net description: The base of SOF's URL. - url: https://{serverBase}/mefApi/legato/streamingManagement/v1 variables: serverBase: default: mplify.net description: The base of SOF's URL. tags: - description: 'Groups all operations related to subscribed topics and subscription management. ' name: subscription paths: /subscription: get: description: List all the subscriptions to all the topics operationId: subscriptionList parameters: - description: Identifier of a topic subscription belongs to in: query name: topicId required: false schema: type: string - description: A communication protocol supported by the available topic in: query name: protocol required: false schema: type: string - description: Requested number of elements to be provided in response requested by client in: query name: limit required: false schema: format: int32 type: integer - description: Requested index for the start of elements to be provided in response requested by the client. Note that the index starts with "0". in: query name: offset required: false schema: format: int32 type: integer responses: '200': content: application/json;charset=utf-8: schema: items: $ref: '#/components/schemas/TopicSubscription' type: array application/vnd.aai.asyncapi+json: schema: $ref: '#/components/schemas/AsyncAPIModel' description: Success headers: X-Pagination-Throttled: description: 'Used to indicate that the result page was throttled to the maximum possible size and there are additional results that can be fetched ' schema: type: boolean X-Result-Count: description: 'An actual number of items returned in the response body E.g. if there are 50 matching items in total, but the request has offset=10 and limit=10, then the X-Total-Count is 50. ' schema: type: integer X-Total-Count: description: Total number of items included in the response schema: type: integer '400': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' description: Bad Request '401': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' description: Unauthorized '403': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' description: Forbidden '405': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Retrieve Topic Subscriptions List tags: - subscription post: description: Subscribe to the selected topic operationId: subscribeTopic requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TopicSubscriptionRequest' responses: '201': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TopicSubscription' description: Registered '400': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' description: Bad Request '401': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' description: Unauthorized '403': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' description: Forbidden '405': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed '422': content: application/json;charset=utf-8: schema: items: $ref: '#/components/schemas/Error422' type: array description: Unprocessable entity due to the business validation problems '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Subscribe To a Topic tags: - subscription servers: - url: https://{serverBase}/mefApi/allegro/streamingManagement/v1 variables: serverBase: default: mplify.net description: The base of SOF's URL. /subscription/{id}: delete: description: Remove a subscription for a topic operationId: unsubscribeTopic parameters: - description: Identifier of the subscription in: path name: id required: true schema: type: string responses: '204': description: Unsubscribe operation successful '400': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' description: Bad Request '401': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' description: Unauthorized '403': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' description: Forbidden '404': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' description: Not Found '405': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Unsubscribe From a Topic tags: - subscription get: description: Retrieve information about a subscription to a topic operationId: subscriptionById parameters: - description: Identifier of the subscription in: path name: id required: true schema: type: string responses: '200': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TopicSubscription' description: Success '400': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' description: Bad Request '401': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' description: Unauthorized '403': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' description: Forbidden '404': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' description: Not Found '405': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Retrieve Topic Subscription By an Identifier tags: - subscription servers: - url: https://{serverBase}/mefApi/allegro/streamingManagement/v1 variables: serverBase: default: mplify.net description: The base of SOF's URL. components: schemas: Subscription: description: Provides stream metadata information that allows for data consumption. properties: id: description: A unique identifier for the stream. type: string description: description: An explanatory description of the stream. type: string priority: description: The priority level of the stream. Can be high, medium, or low. type: string connectionConfig: $ref: '#/components/schemas/ConnectionConfig' required: - id type: object serverVariables: additionalProperties: oneOf: - $ref: '#/components/schemas/Reference' - $ref: '#/components/schemas/serverVariable' description: A map between a variable name and its value. The value is used for substitution in the server's URL template. type: object ConnectionConfig: description: Configuration settings for establishing a connection to the stream. properties: servers: $ref: '#/components/schemas/servers' channel: $ref: '#/components/schemas/Channel' type: object SecurityRequirement: additionalProperties: items: type: string type: array uniqueItems: true description: Lists of the required security schemes that can be used to execute an operation type: object ReferenceObject: description: A simple object to allow referencing other components in the specification, internally and externally. format: uri-reference type: string TopicSubscriptionRequest: additionalProperties: true properties: protocol: description: 'Name of the protocol consumer is intended to use to consume data from `topicId`. The name of the protocol must be one of the defined for the topic. ' type: string topicId: description: Identifier of the topic consumer wants to subscribe to type: string required: - protocol - topicId type: object Error403Code: description: 'This code indicates that the server understood the request but refuses to authorize it because of one of the following error codes: - accessDenied: Access denied - forbiddenRequester: Forbidden requester - tooManyUsers: Too many users' enum: - accessDenied - forbiddenRequester - tooManyUsers type: string Reference: properties: $ref: $ref: '#/components/schemas/ReferenceObject' required: - $ref type: object bindingsObject: additionalProperties: true description: Map describing protocol-specific definitions for a server. properties: http: type: object ws: type: object amqp: type: object amqp1: type: object mqtt: type: object mqtt5: type: object kafka: type: object anypointmq: type: object nats: type: object jms: type: object sns: type: object sqs: type: object stomp: type: object redis: type: object ibmmq: type: object solace: type: object googlepubsub: type: object pulsar: type: object type: object tag: additionalProperties: false description: Allows adding meta data to a single tag. properties: name: description: The name of the tag. type: string description: description: A short description for the tag. type: string externalDocs: $ref: '#/components/schemas/externalDocs' required: - name type: object Error401Code: description: 'One of the following error codes: - missingCredentials: No credentials provided. - invalidCredentials: Provided credentials are invalid or expired' enum: - missingCredentials - invalidCredentials type: string Error400: allOf: - $ref: '#/components/schemas/Error' - properties: code: $ref: '#/components/schemas/Error400Code' required: - code type: object description: Bad Request. (https://tools.ietf.org/html/rfc7231#section-6.5.1) Error500: allOf: - $ref: '#/components/schemas/Error' - properties: code: description: 'The following error code: - internalError: Internal server error - the server encountered an unexpected condition that prevented it from fulfilling the request.' enum: - internalError type: string required: - code type: object description: Internal Server Error. (https://tools.ietf.org/html/rfc7231#section-6.6.1) externalDocs: additionalProperties: false description: Allows referencing an external resource for extended documentation. properties: description: description: A short description of the target documentation. type: string url: description: The URL for the target documentation. This MUST be in the form of an absolute URL. format: uri type: string required: - url type: object Error400Code: description: 'One of the following error codes: - missingQueryParameter: The URI is missing a required query-string parameter - missingQueryValue: The URI is missing a required query-string parameter value - invalidQuery: The query section of the URI is invalid. - invalidBody: The request has an invalid body' enum: - missingQueryParameter - missingQueryValue - invalidQuery - invalidBody type: string servers: additionalProperties: oneOf: - $ref: '#/components/schemas/Reference' - $ref: '#/components/schemas/server' description: The Servers Object is a map of Server Objects. type: object serverVariable: additionalProperties: false description: An object representing a Server Variable for server URL template substitution. properties: enum: description: An enumeration of string values to be used if the substitution options are from a limited set. items: type: string type: array uniqueItems: true default: description: The default value to use for substitution, and to send, if an alternate value is not supplied. type: string description: description: 'An optional description for the server variable. ' type: string examples: description: An array of examples of the server variable. items: type: string type: array type: object TopicSubscription: allOf: - $ref: '#/components/schemas/Subscription' - $ref: '#/components/schemas/TopicSubscriptionRequest' description: Information about the subscription to a specific topic Error401: allOf: - $ref: '#/components/schemas/Error' - properties: code: $ref: '#/components/schemas/Error401Code' required: - code type: object description: Unauthorized. (https://tools.ietf.org/html/rfc7235#section-3.1) Error: description: Standard Class used to describe API response error Not intended to be used directly. The `code` in the HTTP header is used as a discriminator for the type of error returned in runtime. properties: message: description: Text that provides mode details and corrective actions related to the error. This can be shown to a client user. type: string reason: description: Text that explains the reason for the error. This can be shown to a client user. maxLength: 255 type: string referenceError: description: URL pointing to documentation describing the error format: uri type: string required: - reason type: object Error422: allOf: - $ref: '#/components/schemas/Error' - properties: code: $ref: '#/components/schemas/Error422Code' propertyPath: description: 'A pointer to a particular property of the payload that caused the validation issue. It is highly recommended that this property should be used. Defined using JavaScript Object Notation (JSON) Pointer (https://tools.ietf.org/html/rfc6901).' type: string required: - code type: object description: Unprocessable entity due to a business validation problem. (https://tools.ietf.org/html/rfc4918#section-11.2) Error422Code: description: 'One of the following error codes: - missingProperty: The property that was expected is not present in the payload - invalidValue: The property has an incorrect value - invalidFormat: The property value does not comply with the expected value format - referenceNotFound: The object referenced by the property cannot be identified in the target system - unexpectedProperty: Additional, not expected property has been provided - tooLargeDataset: A requested entity will produce too much data - tooManyRecords: The number of records to be provided in the response exceeds the threshold - tooManyRequests: The number of simultaneous requests from one API client exceeds the threshold - otherIssue: Other problem was identified (detailed information provided in a reason)' enum: - missingProperty - invalidValue - invalidFormat - referenceNotFound - unexpectedProperty - tooLargeDataset - tooManyRecords - tooManyRequests - otherIssue type: string Error404: allOf: - $ref: '#/components/schemas/Error' - properties: code: description: 'The following error code: - notFound: A current representation for the target resource not found' enum: - notFound type: string required: - code type: object description: Resource for the requested path not found. (https://tools.ietf.org/html/rfc7231#section-6.5.4) server: additionalProperties: false description: An object representing a message broker, a server or any other kind of computer program capable of sending and/or receiving data properties: url: description: A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the AsyncAPI document is being served. type: string description: description: An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation. type: string protocol: description: 'The protocol this URL supports for connection. Supported protocol include, but are not limited to: amqp, amqps, http, https, ibmmq, jms, kafka, kafka-secure, anypointmq, mqtt, secure-mqtt, solace, stomp, stomps, ws, wss, mercure, googlepubsub.' type: string protocolVersion: description: 'The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc.' type: string variables: $ref: '#/components/schemas/serverVariables' security: description: 'A declaration of which security mechanisms can be used with this server. The list of values includes alternative security requirement objects that can be used. ' items: $ref: '#/components/schemas/SecurityRequirement' type: array bindings: $ref: '#/components/schemas/bindingsObject' tags: description: A list of tags for logical grouping and categorization of servers. items: $ref: '#/components/schemas/tag' type: array uniqueItems: true required: - protocol - url type: object AsyncAPIModel: $ref: http://asyncapi.com/definitions/2.6.0/asyncapi.json Error403: allOf: - $ref: '#/components/schemas/Error' - properties: code: $ref: '#/components/schemas/Error403Code' required: - code type: object description: Forbidden. This code indicates that the server understood the request but refuses to authorize it. (https://tools.ietf.org/html/rfc7231#section-6.5.3) Channel: properties: name: description: The name of the channel through which the stream data is transmitted. format: uri-template minLength: 1 type: string bindings: $ref: '#/components/schemas/bindingsObject' type: object Subscription_2: $ref: models/Subscription.yaml TopicSubscriptionRequest_2: $ref: models/SubscriptionRequest.yaml Subscription_3: $ref: models/Subscription.yaml TopicSubscriptionRequest_3: $ref: models/SubscriptionRequest.yaml Subscription_4: $ref: models/Subscription.yaml TopicSubscriptionRequest_4: $ref: models/SubscriptionRequest.yaml parameters: Offset: description: Requested index for the start of elements to be provided in response requested by the client. Note that the index starts with "0". in: query name: offset schema: format: int32 type: integer Limit: description: Requested number of elements to be provided in response requested by client in: query name: limit schema: format: int32 type: integer responses: '422': content: application/json;charset=utf-8: schema: items: $ref: '#/components/schemas/Error422' type: array description: Unprocessable entity due to the business validation problems '401': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' description: Unauthorized '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error '405': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' description: Method Not Allowed '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' x-refined-from: - mef-lso-allegro-streaming-management-all-in-one-openapi.yml - mef-lso-allegro-streaming-management-openapi.yml - mef-lso-interlude-streaming-management-all-in-one-openapi.yml - mef-lso-interlude-streaming-management-openapi.yml - mef-lso-legato-streaming-management-all-in-one-openapi.yml - mef-lso-legato-streaming-management-openapi.yml