MEF

MEF LSO Allegro Service Function Testing

Service Function Testing — 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. 16 path(s), 25 operation(s). Apache-2.0 licensed and openly downloadable from public GitHub.

OpenAPI Specification

mef-lso-allegro-service-function-test-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Service Function Testing
  description: >
    **This file forms part of Mplify 149**

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

    Mplify Service Function Testing is defined as testing that is performed
    either

    as a part of service verification, service activation, or service 

    maintenance. The requirements and Use Cases are the same for the Allegro

    Interface Reference Point (IRP), the Interlude IRP, and the Legato IRP.

    List of use cases supported by the API:

    - Create, Modify, Suspend, Resume, Cancel Test Job w/Test Profile

    - Create, Modify, Suspend, Resume, Cancel Test Job w/o Test Profile

    - Retrieve Test Job List

    - Retrieve Test Job by ID

    - Create, Modify, Delete Test Profile

    - Retrieve Test Profile List

    - Retrieve Test Profile by ID

    - Retrieve Test Result List

    - Retrieve Test Result by ID

    - Subscribe to Notifications

    - Unsubscribe to Notifications


    Copyright 2025 Mplify Alliance and its contributors


    This file includes content based on the TM Forum Service Test Management
    API

    (TMF653 v4.1.0) available at 

    https://github.com/tmforum-apis/TMF653_ServiceTestManagement, 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.
  version: 3.0.0
servers:
  - url: 'https://{serverBase}/mefApi/allegro/serviceFunctionTesting/v3/'
    variables:
      serverBase:
        description: The base of SOF's URL.
        default: mplify.net
tags:
  - name: testJob
  - name: cancelTestJob
  - name: modifyTestJob
  - name: resumeTestJob
  - name: suspendTestJob
  - name: testProfile
  - name: testResult
  - name: events subscription

paths:
  /testJob:
    get:
      tags:
        - testJob
      summary: List or find TestJob objects.
      description: >-
        The Buyer/Client requests a list of Test Jobs using none or more of the
        filter criteria. The Seller/Server returns a summarized list of Test
        Jobs. For each Test Job returned, the Seller/Server also provides a
        Test Job Identifier that uniquely identifiers this Test 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: listTestJob
      parameters:
        - name: relatedServiceIdFrom
          in: query
          description: The from service identifier of the Service to be tested.
          required: false
          schema:
            type: string
        - name: relatedServiceIdTo
          in: query
          description: The to service identifier of the Service to be tested.
          required: false
          schema:
            type: string
        - name: testProfileId
          in: query
          description: The identifier of the Test Profile.
          required: false
          schema:
            type: string
        - name: name
          in: query
          description: The name of the Test Job.
          required: false
          schema:
            type: string
        - name: requestedStartDateTime.gt
          in: query
          description: The start date and time of the Test Job - greater than.
          required: false
          schema:
            type: string
            format: date-time
        - name: requestedStartDateTime.lt
          in: query
          description: The start date and time of the Test Job - lower than.
          required: false
          schema:
            type: string
            format: date-time
        - name: requestedEndDateTime.gt
          in: query
          description: The end date and time of the Test Job - greater than.
          required: false
          schema:
            type: string
            format: date-time
        - name: requestedEndDateTime.lt
          in: query
          description: The end date and time of the Test Job - lower than.
          required: false
          schema:
            type: string
            format: date-time
        - name: offset
          in: query
          description: >-
            Requested index for start of item to be provided in response
            requested by the client. Note that the index starts with "0".
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description:
            Requested number of resources to be provided in response.
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          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.
              schema:
                type: boolean
            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.
              schema:
                type: integer
            X-Result-Count:
              description: The number of items included in the response.
              schema:
                type: integer
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestJob_Find'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
    post:
      tags:
        - testJob
      summary: Creates a TestJob.
      description: >-
        A request initiated by the Buyer/Client to create a Test Job in the
        Seller/Server that specifies the service to be tested.
      operationId: createTestJob
      requestBody:
        description: The Test Job to be created.
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/TestJob_Common'
        required: true
      responses:
        '201':
          description:
            "'Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)'"
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/TestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  '/testJob/{id}':
    get:
      tags:
        - testJob
      summary: Retrieves a TestJob by ID.
      description: >-
        The Buyer/Client requests detailed information about a single Test Jobs
        based on the Test Job Identifier.
      operationId: retrieveTestJob
      parameters:
        - name: id
          in: path
          description: Identifier of the Test Job
          required: true
          schema:
            type: string
      responses:
        '200':
          description:
            "'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'"
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/TestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  /cancelTestJob:
    get:
      tags:
        - cancelTestJob
      summary: Lists or finds CancelTestJob objects.
      description: >-
        The Buyer/Client requests a list of Cancel Test Job based on a set of
        filter criteria.
      operationId: listCancelTestJob
      parameters:
        - name: testJobId
          in: query
          description:
            Identifier of Test Job that is a subject of CancelTestJob.
          required: false
          schema:
            type: string
        - name: state
          in: query
          description: >-
            State of CancelTestJob. See `TestJobProcessStateType` definition
            for details.
          required: false
          schema:
            type: string
            enum:
              - accepted
              - acknowledged
              - rejected
        - name: creationDate.gt
          in: query
          description: Date when the CancelTestJob was created - greater than.
          required: false
          schema:
            type: string
            format: date-time
        - name: creationDate.lt
          in: query
          description: Date when the CancelTestJob was created - lower than.
          required: false
          schema:
            type: string
            format: date-time
        - name: offset
          in: query
          description: >-
            Requested index for start of item to be provided in response
            requested by client. Note that the index starts with "0".
          required: false
          schema:
            type: integer
            format: int32
        - name: limit
          in: query
          description: >-
            Requested number of items to be provided in response requested by
            client.
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          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.
              schema:
                type: boolean
            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.
              schema:
                type: integer
            X-Result-Count:
              description: The number of items included in the response.
              schema:
                type: integer
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CancelTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
    post:
      tags:
        - cancelTestJob
      description: >-
        A request initiated by the Buyer/Client to cancel a Test Job in the
        Seller/Server system.
      operationId: createCancelTestJob
      requestBody:
        description: The CancelTestJob to be created.
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/CancelTestJob_Common'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/CancelTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  '/cancelTestJob/{id}':
    get:
      tags:
        - cancelTestJob
      summary: Retrieves a CancelTestJob by ID.
      description: >-
        The Buyer/Client requests detailed information about a single Cancel
        Test Job based on the Cancel Test Job Identifier.
      operationId: retrieveCancelTestJob
      parameters:
        - name: id
          in: path
          description: Identifier of the CancelTestJob
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/CancelTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  /suspendTestJob:
    get:
      tags:
        - suspendTestJob
      summary: Lists or finds SuspendTestJob objects.
      description: >-
        The Buyer/Client requests a list of Suspend Test Job based on a set of
        filter criteria.
      operationId: listSuspendTestJob
      parameters:
        - name: testJobId
          in: query
          description:
            Identifier of Test Job that is a subject of SuspendTestJob.
          required: false
          schema:
            type: string
        - name: state
          in: query
          description: >-
            State of SuspendTestJob. See `TestJobProcessStateType` definition
            for details.
          required: false
          schema:
            type: string
            enum:
              - accepted
              - acknowledged
              - rejected
        - name: creationDate.gt
          in: query
          description: Date when the SuspendTestJob was created - greater than.
          required: false
          schema:
            type: string
            format: date-time
        - name: creationDate.lt
          in: query
          description: Date when the SuspendTestJob was created - lower than.
          required: false
          schema:
            type: string
            format: date-time
        - name: offset
          in: query
          description: >-
            Requested index for start of item to be provided in response
            requested by client. Note that the index starts with "0".
          required: false
          schema:
            type: integer
            format: int32
        - name: limit
          in: query
          description: >-
            Requested number of items to be provided in response requested by
            client.
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          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.
              schema:
                type: boolean
            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.
              schema:
                type: integer
            X-Result-Count:
              description: The number of items included in the response.
              schema:
                type: integer
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SuspendTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
    post:
      tags:
        - suspendTestJob
      description: >-
        A request initiated by the Buyer/Client to suspend a Test Job in the
        Seller/Server system.
      operationId: createSuspendTestJob
      requestBody:
        description: The SuspendTestJob to be created.
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/SuspendTestJob_Common'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/SuspendTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  '/suspendTestJob/{id}':
    get:
      tags:
        - suspendTestJob
      summary: Retrieves a SuspendTestJob by ID.
      description: >-
        The Buyer/Client requests detailed information about a single Suspend
        Test Job based on the Suspend Test Job Identifier.
      operationId: retrieveSuspendTestJob
      parameters:
        - name: id
          in: path
          description: Identifier of the SuspendTestJob
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/SuspendTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  /resumeTestJob:
    get:
      tags:
        - resumeTestJob
      summary: Lists or finds ResumeTestJob objects.
      description: >-
        The Buyer/Client requests a list of Resume Test Job based on a set of
        filter criteria.
      operationId: listResumeTestJob
      parameters:
        - name: testJobId
          in: query
          description:
            Identifier of Test Job that is a subject of ResumeTestJob.
          required: false
          schema:
            type: string
        - name: state
          in: query
          description: >-
            State of ResumeTestJob. See `TestJobProcessStateType` definition
            for details.
          required: false
          schema:
            type: string
            enum:
              - accepted
              - acknowledged
              - rejected
        - name: creationDate.gt
          in: query
          description: Date when the ResumeTestJob was created - greater than.
          required: false
          schema:
            type: string
            format: date-time
        - name: creationDate.lt
          in: query
          description: Date when the ResumeTestJob was created - lower than.
          required: false
          schema:
            type: string
            format: date-time
        - name: offset
          in: query
          description: >-
            Requested index for start of item to be provided in response
            requested by client. Note that the index starts with "0".
          required: false
          schema:
            type: integer
            format: int32
        - name: limit
          in: query
          description: >-
            Requested number of items to be provided in response requested by
            client.
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          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.
              schema:
                type: boolean
            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.
              schema:
                type: integer
            X-Result-Count:
              description: The number of items included in the response.
              schema:
                type: integer
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResumeTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
    post:
      tags:
        - resumeTestJob
      description: >-
        A request initiated by the Buyer/Client to resume a Test Job in the
        Seller/Server system.
      operationId: createResumeTestJob
      requestBody:
        description: The ResumeTestJob to be created.
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/ResumeTestJob_Common'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ResumeTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description:
            Unprocessable entity due to the business validation problems
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Error422'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  '/resumeTestJob/{id}':
    get:
      tags:
        - resumeTestJob
      summary: Retrieves a ResumeTestJob by ID.
      description: >-
        The Buyer/Client requests detailed information about a single Resume
        Test Job based on the Resume Test Job Identifier.
      operationId: retrieveResumeTestJob
      parameters:
        - name: id
          in: path
          description: Identifier of the ResumeTestJob
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ResumeTestJob'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error500'
  /modifyTestJob:
    get:
      tags:
        - modifyTestJob
      summary: Lists or finds ModifyTestJob objects.
      description: >-
        The Buyer/Client requests a list of Modify Test Job based on a set of
        filter criteria.
      operationId: listModifyTestJob
    

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