MEF Service Function Testing Notification (Mef Lso Allegro Service Function Test Notification)
MEF Service Function Testing Notification from MEF — 12 path(s) described in OpenAPI.
MEF Service Function Testing Notification from MEF — 12 path(s) described in OpenAPI.
openapi: 3.0.1
info:
title: Service Function Testing Notification
description: >
**This file forms part of Mplify 149**
**This API implements part of Business Requirements & Use Cases described
in Mplify 136.1**
This is the API to manage notifications for Test Job, Test Profile and Test
Result. This API must be deployed on notification subscriber side (buyer
side / listener).
List of supported use cases:
- Send Event Notification
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/serviceFunctionTestingNotification/v3/'
variables:
serverBase:
description: The base of Buyer's URL.
default: mef.net
tags:
- name: Notification listeners
description: >
The Buyer/Client's endpoint to send particular event types notifications
to.
paths:
/listener/testJobCreateEvent:
post:
tags:
- Notification listeners
summary: Test Job Create Notification endpoint
description:
This endpoint is used to receive notifications on Test Job Create Event
operationId: testJobCreateEvent
requestBody:
description: The event data
content:
'*/*':
schema:
$ref: '#/components/schemas/TestJobCreateEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/testJobAttributeValueChangeEvent:
post:
tags:
- Notification listeners
summary: Test Job Attribute Value Change Notification endpoint
description: >-
This endpoint is used to receive notifications on Test Job attribute
value change event
operationId: testJobAttributeValueChangeEvent
requestBody:
description: The event data
content:
'*/*':
schema:
$ref: '#/components/schemas/TestJobAttributeValueChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/testJobStateChangeEvent:
post:
tags:
- Notification listeners
summary: Test Job State Change Notification endpoint
description:
Client listener for receiving the testJobStateChangeEvent notification
operationId: testJobStateChangeEvent
requestBody:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/TestJobStateChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/cancelTestJobStateChangeEvent:
post:
tags:
- Notification listeners
summary: Cancel Test Job State Change Notification endpoint
description: >-
Client listener for receiving the cancelTestJobStateChangeEvent
notification
operationId: cancelTestJobStateChangeEvent
requestBody:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CancelTestJobProcessStateChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/modifyTestJobStateChangeEvent:
post:
tags:
- Notification listeners
summary: Modify Test Job State Change Notification endpoint
description: >-
Client listener for receiving the modifyTestJobStateChangeEvent
notification
operationId: modifyTestJobStateChangeEvent
requestBody:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ModifyTestJobProcessStateChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/suspendTestJobStateChangeEvent:
post:
tags:
- Notification listeners
summary: Suspend Test Job State Change Notification endpoint
description: >-
Client listener for receiving the suspendTestJobStateChangeEvent
notification
operationId: suspendTestJobStateChangeEvent
requestBody:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/SuspendTestJobProcessStateChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/resumeTestJobStateChangeEvent:
post:
tags:
- Notification listeners
summary: Resume Test Job State Change Notification endpoint
description: >-
Client listener for receiving the resumeTestJobStateChangeEvent
notification
operationId: resumeTestJobStateChangeEvent
requestBody:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ResumeTestJobProcessStateChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/testProfileCreateEvent:
post:
tags:
- Notification listeners
summary: Test Profile Create Notification endpoint
description: >-
This endpoint is used to receive notifications on Test Profile Create
Event
operationId: testProfileCreateEvent
requestBody:
description: The event data
content:
'*/*':
schema:
$ref: '#/components/schemas/TestProfileCreateEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/testProfileAttributeValueChangeEvent:
post:
tags:
- Notification listeners
summary: Test Profile Attribute Value Change Notification endpoint
description: >-
This endpoint is used to receive notifications on Test Profile
attribute value change event
operationId: testProfileAttributeValueChangeEvent
requestBody:
description: The event data
content:
'*/*':
schema:
$ref: '#/components/schemas/TestProfileAttributeValueChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/testProfileLifecycleStateChangeEvent:
post:
tags:
- Notification listeners
summary: Test Profile Lifecycle State Change Notification endpoint
description: >-
Client listener for receiving the testProfileLifecycleStateChangeEvent
notification
operationId: testProfileLifecycleStateChangeEvent
requestBody:
description: The event data
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/TestProfileLifecycleStateChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/testProfileDeleteEvent:
post:
tags:
- Notification listeners
summary: Test Profile Delete Notification endpoint
description: >-
This endpoint is used to receive notifications on Test Profile Delete
Event
operationId: testProfileDeleteEvent
requestBody:
description: The event data
content:
'*/*':
schema:
$ref: '#/components/schemas/TestProfileDeleteEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
/listener/testResultCreateEvent:
post:
tags:
- Notification listeners
summary: Test Result Create Notification endpoint
description: >-
This endpoint is used to receive notifications on Test Result Create
Event
operationId: testResultCreateEvent
requestBody:
description: The event data
content:
'*/*':
schema:
$ref: '#/components/schemas/TestResultCreateEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'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'
'500':
description: Internal Server Error
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
components:
schemas:
CancelTestJobProcessStateChangeEvent:
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
eventType:
description: |
Indicates the type of the event.
type: string
enum:
- cancelTestJobStateChangeEvent
event:
description: |
A reference to the object that is source of the notification.
$ref: '#/components/schemas/TestJobProcessEventPayload'
required:
- event
- eventType
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.
type: object
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.
type: string
maxLength: 255
referenceError:
description: URL pointing to documentation describing the error
type: string
format: uri
required:
- reason
Error400:
description:
Bad Request. (https://tools.ietf.org/html/rfc7231#section-6.5.1)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
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
$ref: '#/components/schemas/Error400Code'
required:
- code
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
type: string
enum:
- missingQueryParameter
- missingQueryValue
- invalidQuery
- invalidBody
Error401:
description:
Unauthorized. (https://tools.ietf.org/html/rfc7235#section-3.1)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
description: |
One of the following error codes:
- missingCredentials: No credentials provided.
- invalidCredentials: Provided credentials are invalid or
expired
$ref: '#/components/schemas/Error401Code'
required:
- code
Error401Code:
description: |
One of the following error codes:
- missingCredentials: No credentials provided.
- invalidCredentials: Provided credentials are invalid or expired
type: string
enum:
- missingCredentials
- invalidCredentials
Error403:
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)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
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
$ref: '#/components/schemas/Error403Code'
required:
- code
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
type: string
enum:
- accessDenied
- forbiddenRequester
- tooManyUsers
Error404:
description: >-
Resource for the requested path not found.
(https://tools.ietf.org/html/rfc7231#section-6.5.4)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
description: |
The following error code:
- notFound: A current representation for the target resource
not found
type: string
enum:
- notFound
required:
- code
Error409:
description:
Conflict (https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.8)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
description: |
The following error code:
- conflict: The client has provided a value whose semantics are
not appropriate for the property.
type: string
enum:
- conflict
required:
- code
Error422:
description: >-
Unprocessable entity due to a business validation problem.
(https://tools.ietf.org/html/rfc4918#section-11.2)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
description: |
One of the following error codes:
- missingProperty: The property the Seller has 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 Seller system
- unexpectedProperty: Additional property, not expected by the Seller has been provided
- tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold.
- otherIssue: Other problem was identified (detailed information provided in a reason)
$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
Error422Code:
description: |
One of the following error codes:
- missingProperty: The property the Seller has 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 Seller system
- unexpectedProperty: Additional property, not expected by the Seller has been provided
- tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold.
- otherIssue: Other problem was identified (detailed information provided in a reason)
type: string
enum:
- missingProperty
- invalidValue
- invalidFormat
- referenceNotFound
- unexpectedProperty
- tooManyRecords
- otherIssue
Error500:
description: >-
Internal Server Error.
(https://tools.ietf.org/html/rfc7231#section-6.6.1)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
description: |
The following error code:
- internalError: Internal server error - the server encountered
an unexpected condition that prevented it from fulfilling the
request.
type: string
enum:
- internalError
required:
- code
Error501:
description: >-
Not Implemented. Used in case Seller is not supporting an optional
operation (https://tools.ietf.org/html/rfc7231#section-6.6.2)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
description: |-
The following error code:
- notImplemented: Method not supported by the server
type: string
enum:
- notImplemented
required:
- code
Event:
description: >-
Event class is used to describe information structure used for
notification.
type: object
properties:
eventId:
description: Id of the event
type: string
eventTime:
description: Date-time when the event occurred
type: string
format: date-time
eventType:
description: The type of the notification.
type: string
event:
description: The event linked to the involved resource object
type: object
required:
- event
- eventId
- eventTime
- eventType
ModifyTestJobProcessStateChangeEvent:
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
eventType:
description: |
Indicates the type of the event.
type: string
enum:
- modifyTestJobStateChangeEvent
event:
description: |
A reference to the object that is source of the notification.
$ref: '#/components/schemas/TestJobProcessEventPayload'
required:
- event
- eventType
SuspendTestJobProcessStateChangeEvent:
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
eventType:
description: |
Indicates the type of the event.
type: string
enum:
- suspendTestJobStateChangeEvent
event:
description: |
A reference to the object that is source of the notification.
$ref: '#/components/schemas/TestJobProcessEventPayload'
required:
- event
- eventType
ResumeTestJobProcessStateChangeEvent:
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
eventType:
description: |
Indicates the type of the event.
type: string
enum:
- resumeTestJobStateChangeEvent
event:
description: |
A reference to the object that is source of the notification.
$ref: '#/components/schemas/TestJobProcessEventPayload'
required:
- event
- eventType
TestJobCreateEvent:
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
eventType:
description: |
Indicates the type of the event.
type: string
enum:
- testJobCreateEvent
event:
description: |
A reference to the object that is source of the notification.
$ref: '#/components/schemas/TestJobEventPayload'
required:
- event
- eventType
TestJobAttributeValueChangeEvent:
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
eventType:
description: |
Indicates the type of the event.
type: string
enum:
- testJobAttributeValueChangeEvent
event:
description: |
A reference to the object that is source of the notification.
$ref: '#/components/schemas/TestJobEventPayload'
required:
- event
- eventType
TestJobStateChangeEvent:
allOf:
- $ref: '#/components/schemas/Event'
- type: object
properties:
eventType:
description: |
Indicates the type of the event.
type: string
enum:
- testJobStateChangeEvent
event:
description: |
A reference to the object that is source of the notification.
$ref: '#/components/schemas/TestJobStateChangeEventPayload'
required:
- event
- eventType
TestJobEventPayload:
description: The identifier of the Test Job being subject of this event.
type: object
properties:
id:
description: ID of the Test Job
type: string
href:
description: Hyperlink to access the Test Job
type: string
required:
- id
TestJobStateChangeEventPayload:
allOf:
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mef/refs/heads/main/openapi/mef-lso-allegro-service-function-test-notification-openapi.yml