MEF

MEF LSO Legato Legato Service Catalog API

Legato Service Catalog API — the OpenAPI definition published by Mplify (formerly MEF) in the MEF LSO Legato SDK, Kylie release. LSO Legato is the Interface Reference Point between Business Applications (BUS) and the Service Orchestration Functionality (SOF) inside a single Service Provider. 4 path(s), 5 operation(s). Apache-2.0 licensed and openly downloadable from public GitHub.

OpenAPI Specification

mef-lso-legato-service-catalog-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Legato Service Catalog API
  version: 4.0.0-RC
  description: |-
    The Service Catalog API provides a standardized mechanism for retrieving 
    *ServiceSpecifications*. Using these APIs Business Applications (BUS) 
    systems query the **Service Catalog** for *ServiceSpecifications* supported 
    by the Service Orchestration Function (SOF).

    Additionally, the APIs also allow the BUS to register listeners to be 
    notified of the changes to the *ServiceSpecifications*.  

    - MEF Developer Guide Reference : MEF_W99 v1.0

    - TMF API Reference : TMF 633 v18.5.1

    Copyright © MEF 2020. All Rights Reserved
  
    This file includes content based on the TM Forum Service Catalog Management API
    (TMF633 v3.0.0) available at
    https://github.com/tmforum-apis/TMF633_ServiceCatalog, which is licensed
    by the TM Forum under the Apache License version 2.0. Such content has been
    modified by the MEF Forum and its contributors.
tags:
  - name: ServiceSpecification
    description: |-
      Mechanisms for BUS to query and retrieve *ServiceSpecifications*.
  - name: EventSubscriptionHub
    description: |-
      Mechanisms for BUS to subscribe/unsubscribe to *Notifications*.

servers:
  - url: https://{server}:{port}{basePath}
    variables:
      server:
        default: 'mef.net' 
      port:
        enum:
          - '8443'
          - '443'
        default: '8443'
      basePath:
        default: /mefApi/legato/serviceCatalog/v4

paths:
  /serviceSpecification:
    get:
      tags:
        - ServiceSpecification
      operationId: serviceSpecificationFind
      summary: List service specifications
      description: >-
        This operation returns service specifications from a catalog

      deprecated: false
      parameters:
        - name: category
          required: false
          in: query
          description: Service Category
          schema:
            type: string
        - name: lifecycleStatus
          required: false
          in: query
          description: Service Specification status
          schema:
            $ref: 'serviceCatalogSchema.openapi.yaml#/components/schemas/ServiceSpecificationState'
        - name: fields
          required: false
          in: query
          description: |- 
            Comma-separated properties of the Service Specification to be 
            included in the returned response
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: |-
            Requested start index in a ordered list (sorted by id property) of 
            matching Service Specifications to be provided in response. 
          schema:
            type: integer
        - name: limit
          required: false
          in: query
          description: |-
            Requested maximum number of Service Specifications to be provided 
            in the response
          schema:
            type: integer
      responses:
        '200':
          description: Ok
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: 'serviceCatalogSchema.openapi.yaml#/components/schemas/ServiceSpecification'
        '400':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/BadRequest'
        '401':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Unauthorized'
        '403':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Forbidden'
        '404':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/NotFound'
        '422':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/UnprocessableEntity'
        '500':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/InternalServerError'
        '503':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/ServiceUnavailable'

  '/serviceSpecification/{id}':
    get:
      tags:
        - ServiceSpecification
      operationId: serviceSpecificationGet
      summary: Retrieve a service specification
      description: >-
        This operation returns a service specification by its id from a catalog.
        Attribute selection is enabled using the fields attribute.
      deprecated: false
      parameters:
        - name: id
          required: true
          in: path
          description: "Identifier of the ServiceSpecification"
          schema:
            type: string
        - name: fields
          required: false
          in: query
          description: |- 
            Comma-separated properties of the Service Specification to be 
            included in the returned response
          schema:
            type: string
      responses:
        '200':
          description: Ok
          content:
            application/json;charset=utf-8:
              schema:
                $ref: 'serviceCatalogSchema.openapi.yaml#/components/schemas/ServiceSpecification'
        '400':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/BadRequest'
        '401':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Unauthorized'
        '403':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Forbidden'
        '404':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/NotFound'
        '405':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/MethodNotAllowed'
        '408':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/RequestTimeout'
        '422':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/UnprocessableEntity'
        '500':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/InternalServerError'
        '503':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/ServiceUnavailable'

  /hub:
    post:
      tags:
        - EventSubscriptionHub
      operationId: hubCreate
      summary: Create Hub
      description: Structure used to create a hub (to subscribe to notification
      deprecated: false
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '../common/hubSchema.openapi.yaml#/components/schemas/EventSubscriptionInput'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '../common/hubSchema.openapi.yaml#/components/schemas/EventSubscription'
        '400':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/BadRequest'
        '401':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Unauthorized'
        '403':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Forbidden'
        '404':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/NotFound'
        '405':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/MethodNotAllowed'
        '408':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/RequestTimeout'
        '409':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Conflict'
        '500':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/InternalServerError'
        '503':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/ServiceUnavailable'

  '/hub/{hubId}':
    get:
      tags:
        - EventSubscriptionHub
      operationId: hubGet
      summary: get hub
      description: ''
      deprecated: false
      parameters:
        - name: hubId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Ok
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '../common/hubSchema.openapi.yaml#/components/schemas/EventSubscription'
        '400':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/BadRequest'
        '401':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Unauthorized'
        '403':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Forbidden'
        '404':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/NotFound'
        '405':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/MethodNotAllowed'
        '408':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/RequestTimeout'
        '422':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/UnprocessableEntity'
        '500':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/InternalServerError'
        '503':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/ServiceUnavailable'

    delete:
      tags:
        - EventSubscriptionHub
      operationId: hubDelete
      summary: Delete Hub
      description: Delete an existing Hub
      deprecated: false
      parameters:
        - name: hubId
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/BadRequest'
        '401':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Unauthorized'
        '403':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/Forbidden'
        '404':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/NotFound'
        '405':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/MethodNotAllowed'
        '408':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/RequestTimeout'
        '422':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/UnprocessableEntity'
        '500':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/InternalServerError'
        '503':
          $ref: '../common/errorSchema.openapi.yaml#/components/responses/ServiceUnavailable'