MEF

MEF LSO Allegro Performance Monitoring

Performance Monitoring — the OpenAPI definition published by Mplify (formerly MEF) in the MEF LSO Allegro SDK, Kylie release. LSO Allegro is the Interface Reference Point between a Customer and a Service Provider, covering the operational/service layer. 17 path(s), 25 operation(s). Apache-2.0 licensed and openly downloadable from public GitHub.

OpenAPI Specification

mef-lso-allegro-performance-monitoring-openapi.yml Raw ↑
openapi: 3.0.1
info:
  description: |
    **This file forms part of Mplify 143**

    **This API implements part of Business Requirements & Use Cases described
    in Mplify 133.1.**

    Mplify Performance Monitoring API allows to manage Performance Profiles, 
    Performance Jobs and collect Performance Reports, as well as receive 
    notifications related to these entities. This enables the management 
    of performance objectives typically associated with SLS, the on-demand
    collection of performance data, and the retrieval of passive statistics.

    Three types of performance-related entities are supported by the API:
    - **Performance Monitoring Profile** - templates used to simplify the 
      Performance Monitoring Job provisioning. Common attributes for PM Jobs
      are defined in the PM Profile. One PM Profile can be used by multiple
      PM Jobs but PM Jobs can also be created without relationship to PM Profile.

    - **Performance Monitoring Job** - provisions the performance monitoring
      objectives specific to each subject of monitoring which could be a service, 
      an ordered pair (e.g., two UNIs), or an entity (e.g., port).

    - **Performance Monitoring Report** - the execution of PM Job results in
      Performance Monitoring Report that provide Buyer/Client with 
      performance objective results. In some cases, PM Report may be triggered
      by a request from the Buyer/Client without being linked to a Performance
      Job, which applies when retrieving data that already exists 
      in the performance data database.

    List of use cases supported by the API:
    - Create Performance Monitoring Profile
    - Retrieve list of Performance Monitoring Profiles
    - Retrieve Performance Monitoring Profile by Identifier
    - Modify Performance Monitoring Profile
    - Delete Performance Monitoring Profile
    - Subscribe to Performance Monitoring Profile Notifications
    - Unsubscribe from Performance Monitoring Profile Notifications

    - Create Performance Monitoring Job
    - Retrieve list of Performance Monitoring Jobs
    - Retrieve Performance Monitoring Job by Identifier
    - Modify Performance Monitoring Job
    - Retrieve Modify Performance Monitoring Job List
    - Retrieve Modify Performance Monitoring Job by Identifier
    - Cancel Performance Monitoring Job
    - Retrieve Cancel Performance Monitoring Job List
    - Retrieve Cancel Performance Monitoring Job by Identifier
    - Suspend Performance Monitoring Job
    - Resume Performance Monitoring Job
    - Subscribe to Performance Monitoring Job Notifications
    - Unsubscribe from Performance Monitoring Job Notifications

    - Create Performance Monitoring Report
    - Retrieve list of Performance Monitoring Reports
    - Retrieve Performance Report by Identifier
    - Subscribe to Performance Monitoring Report Notifications
    - Unsubscribe from Performance Monitoring Report Notifications

    Copyright 2025 Mplify Alliance and its contributors

    This file includes content based on the TM Forum Performance Management API
    (TMF628 v5.0.0) available at 
    https://www.tmforum.org/oda/open-apis/directory/performance-management-api-TMF628/v5.0, which is licensed by 
    the TM Forum under the Apache License version 2.0. Such content has been
    modified by the Mplify Alliance and its contributors.
  title: Performance Monitoring
  version: 5.0.0
servers:
  - url: 'https://{serverBase}/mefApi/allegro/performanceMonitoring/v5/'
    variables:
      serverBase:
        default: mplify.com
        description:
          The base hostname of the SOF (Service Orchestration Function) server.
tags:
  - name: performanceJob
  - name: performanceProfile
  - name: performanceReport
  - name: trackingRecord
  - name: events subscription
paths:
  /performanceJob:
    get:
      description: >-
        The Buyer/Client requests a list of PM Jobs based on a set of filter
        criteria. The Seller/Server returns a summarized list of PM  Jobs. For
        each PM Job returned, the Seller/Server also provides a  Performance
        Job Identifier that uniquely identifies this PM Job within the
        Seller/Server. The order of the elements returned to the  Buyer/Client
        is defined by the Seller/Server (e.g. natural order) and does not
        change between the pages.
      operationId: listPerformanceJob
      parameters:
        - description: >-
            Identifier assigned and understandable by Buyer/Client to
            facilitate search requests.
          explode: true
          in: query
          name: buyerJobId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            Identifier of a Service.
          explode: true
          in: query
          name: serviceId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            Identifier of a Service From endpoint.
          explode: true
          in: query
          name: serviceFromId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            Identifier of a Service To endpoint.
          explode: true
          in: query
          name: serviceToId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            Identifier of an Entity.
          explode: true
          in: query
          name: entityId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            Identifier of Performance Profile used as a template for
            Performance Job.
          explode: true
          in: query
          name: performanceProfileId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            State of the Performance Job. See `PerformanceJobStateType`
            definition for details.
          explode: true
          in: query
          name: state
          required: false
          schema:
            $ref: '#/components/schemas/PerformanceJobStateType'
          style: form
        - description: Date when the job was created - greater than.
          explode: true
          in: query
          name: creationDateTime.gt
          required: false
          schema:
            format: date-time
            type: string
          style: form
        - description: Date when the job was created - lower than.
          explode: true
          in: query
          name: creationDateTime.lt
          required: false
          schema:
            format: date-time
            type: string
          style: form
        - description: Type of the Performance Job.
          explode: true
          in: query
          name: jobType
          required: false
          schema:
            $ref: '#/components/schemas/JobType'
          style: form
        - description: The priority of the Performance Job.
          explode: true
          in: query
          name: jobPriority
          required: false
          schema:
            type: string
          style: form
        - description: Identifier of consuming application.
          explode: true
          in: query
          name: consumingApplicationId
          required: false
          schema:
            type: string
          style: form
        - description: Identifier of producing application.
          explode: true
          in: query
          name: producingApplicationId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            Requested index for start of item to be provided in response
            requested by the client. Note that the index starts with "0".
          explode: true
          in: query
          name: offset
          required: false
          schema:
            type: integer
          style: form
        - description: >-
            Requested number of resources to be provided in response.
          explode: true
          in: query
          name: limit
          required: false
          schema:
            format: int32
            type: integer
          style: form
      responses:
        '200':
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PerformanceJob'
          description: >-
            'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
          headers:
            X-Pagination-Throttled:
              description: >-
                Used to indicate that result page was throttled to maximum
                possible size  and there are additional results that can be
                fetched.
              explode: false
              schema:
                type: boolean
              style: simple
            X-Total-Count:
              description: >-
                The total number of matching items. 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.
              explode: false
              schema:
                type: integer
              style: simple
            X-Result-Count:
              description: The number of items included in the response.
              explode: false
              schema:
                type: integer
              style: simple
        '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
        '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: List or find Performance Job objects.
      tags:
        - performanceJob
    post:
      description: >-
        A request initiated by the Buyer/Client to create a Performance Job in
        the Seller/Server system to indicate performance monitoring objectives.
      operationId: createPerformanceJob
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/PerformanceJob_Create'
        description: The Performance Job to be created.
        required: true
      responses:
        '201':
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/PerformanceJob'
          description: >-
            'Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)'
        '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
        '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: Creates a Performance Job.
      tags:
        - performanceJob
  '/performanceJob/{id}':
    get:
      description: >-
        The Buyer/Client requests detailed information about a single
        Performance Job based on the Job Identifier.
      operationId: retrievePerformanceJob
      parameters:
        - description: Identifier of the Performance Job.
          explode: false
          in: path
          name: id
          required: true
          schema:
            type: string
          style: simple
      responses:
        '200':
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/PerformanceJob'
          description: >-
            'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
        '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
        '500':
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
          description: Internal Server Error
      summary: Retrieves a Performance Job by ID.
      tags:
        - performanceJob
  '/performanceJob/{id}/resume':
    post:
      description: >-
        A request initiated by the Buyer/Client to resume a Performance Job
      operationId: resumePerformanceJob
      parameters:
        - description: Identifier of the PerformanceJob.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Resumed
        '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
        '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: Resumes a Performance Job.
      tags:
        - performanceJob
  '/performanceJob/{id}/suspend':
    post:
      description: >-
        A request initiated by the Buyer/Client to suspend a Performance Job
      operationId: suspendPerformanceJob
      parameters:
        - description: Identifier of the PerformanceJob.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Suspended
        '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
        '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: Suspends a Performance Job.
      tags:
        - performanceJob
  /cancelPerformanceJob:
    get:
      description: >-
        The Buyer/Client requests a list of Cancel Performance Monitoring Job
        based on a set of filter criteria.
      operationId: listCancelPerformanceJob
      parameters:
        - description: >-
            Identifier of Performance Job that is a subject of
            CancelPerformanceJob.
          explode: true
          in: query
          name: performanceJobId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            State of CancelPerformanceJob. See `PerformanceJobProcessStateType`
            definition for details.
          explode: true
          in: query
          name: state
          required: false
          schema:
            $ref: '#/components/schemas/PerformanceJobProcessStateType'
          style: form
        - description: >-
            Date when the CancelPerformanceJob was created - greater than.
          explode: true
          in: query
          name: creationDateTime.gt
          required: false
          schema:
            format: date-time
            type: string
          style: form
        - description: >-
            Date when the CancelPerformanceJob was created - lower than.
          explode: true
          in: query
          name: creationDateTime.lt
          required: false
          schema:
            format: date-time
            type: string
          style: form
        - description: >-
            Requested index for start of item to be provided in response
            requested by client. Note that the index starts with "0".
          explode: true
          in: query
          name: offset
          required: false
          schema:
            type: integer
            format: int32
          style: form
        - description: >-
            Requested number of items to be provided in response requested by
            client.
          explode: true
          in: query
          name: limit
          required: false
          schema:
            type: integer
            format: int32
          style: form
      responses:
        '200':
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CancelPerformanceJob'
          description: Success
          headers:
            X-Pagination-Throttled:
              description: >-
                Used to indicate that result page was throttled to maximum
                possible size  and there are additional results that can be
                fetched.
              explode: false
              schema:
                type: boolean
              style: simple
            X-Total-Count:
              description: >-
                The total number of matching items. 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.
              explode: false
              schema:
                type: integer
              style: simple
            X-Result-Count:
              description: The number of items included in the response.
              explode: false
              schema:
                type: integer
              style: simple
        '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
        '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: Lists or finds CancelPerformanceJob objects.
      tags:
        - performanceJob
    post:
      description: >-
        A request initiated by the Buyer/Client to cancel  a Performance
        Monitoring Job in the Seller/Server system.
      operationId: createCancelPerformanceJob
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/CancelPerformanceJob_Create'
        description: The CancelPerformanceJob to be created.
        required: true
      responses:
        '201':
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/CancelPerformanceJob'
          description: Created
        '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
        '422':
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
          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
      tags:
        - performanceJob
  /cancelPerformanceJob/{id}:
    get:
      description: >-
        The Buyer/Client requests detailed information about a single  Cancel
        Performance Monitoring Job based on the  Cancel Performance Monitoring
        Job Identifier.
      operationId: retrieveCancelPerformanceJob
      parameters:
        - description: Identifier of the CancelPerformanceJob.
          explode: false
          in: path
          name: id
          required: true
          schema:
            type: string
          style: simple
      responses:
        '200':
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/CancelPerformanceJob'
          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
        '500':
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
          description: Internal Server Error
      summary: Retrieves a CancelPerformanceJob by ID.
      tags:
        - performanceJob
  /modifyPerformanceJob:
    get:
      description: >-
        The Buyer/Client requests a list of Modify Performance Monitoring Job
        based on a set of filter criteria.
      operationId: listModifyPerformanceJob
      parameters:
        - description: >-
            Identifier of Performance Job that is a subject of
            ModifyPerformanceJob.
          explode: true
          in: query
          name: performanceJobId
          required: false
          schema:
            type: string
          style: form
        - description: >-
            State of ModifyPerformanceJob See `PerformanceJobProcessStateType`
            definition for details.
          explode: true
          in: query
          name: state
          required: false
          schema:
            $ref: '#/components/schemas/PerformanceJobProcessStateType'
          style: form
        - description: >-
            Date when the ModifyPerformanceJob was created - greater than.
          explode: true
          in: query
          name: creationDateTime.gt
          required: false
          schema:
            format: date-time
            type: string
          style: form
        - description: >-
            Date when the ModifyPerformanceJob was created - lower than.
          explode: true
          in: query
          name: creationDateTime.lt
          required: false
          schema:
            format: date-time
            type: string
          style: form
        - description: >-
            Requested index for start of item to be provided in response
            requested by client. Note that the index starts with "0".
          explode: true
          in: query
          name: offset
          required: false
          schema:
            type: integer
            format: int32
          style: form
        - description: >-
            Requested number of items to be provided in response requested by
            client.
          explode: true
          in: query
          name: limit
          required: false
          schema:
            type: integer
            format: int32
          style: form
      responses:
        '200':
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ModifyPerformanceJob'
          description: Success
          headers:
            X-Pagination-Throttled:
              description: >-
                Used to indicate that result page was throttled to maximum
                possible size  and there are additional results that can be
                fetched.
              explode: false
              schema:
                type: boolean
              style: simple
            X-Total-Count:
              description: >-
                The total number of matching items. 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.
              explode: false
              schema:
                type: integer
              style: simple
            X-Result-Count:
              description: The number of items included in the response.
              explode: false
              schema:
                type: integer
              style: simple
        '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
        '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: Lists or finds ModifyPerformanceJob objects.
      tags:
        - performanceJob
    post:
      description: >-
        A request initiated by the Buyer/Client to modify a Performance
        Monitoring Job in the Seller/Server system.
      operationId: createModifyPerformanceJob
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/ModifyPerformanceJob_Create'
        description: The ModifyPerformanceJob to be created.
        required: true
      responses:
        '201':
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ModifyPerformanceJob'
          description: Created
        '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
        '422':
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
          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
      tags:
        - performanceJob
  /modifyPerformanceJob/{id}:
    get:
      description: >-
        The Buyer/Client requests detailed information about a single  Modify
        Performance Monitoring Job based on the  Modify Performance Monitoring
        Job Identifier.
      operationId: retrieveModifyPerformanceJob
      parameters:
        - description: Identifier of the ModifyPerformanceJob.
          explode: false
        

# --- truncated at 32 KB (146 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mef/refs/heads/main/openapi/mef-lso-allegro-performance-monitoring-openapi.yml