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: - $ref: '#/components/schemas/TestJobEventPayload' - type: object properties: state: description: The current state of the Test Job $ref: '#/components/schemas/TestJobStateType' required: - state TestJobStateType: description: |- The state of the Test Job. | State | Mplify 136.1 name | Description | | -------------------------| -----------------------| -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `acknowledged` | ACKNOWLEDGED | The Create Test Job request has been received from the Buyer/Client and the Seller/Server has assigned a Test Job Identifier to it. If the request attributes fail validation, the Create Test Job moves to the REJECTED state. If the attributes pass validation, it is then determined if the Create Test Job Start Date Time is immediate or if the Create Test Job Start Date Time indicates that the Test Job is to be scheduled for a later date time. If the Test Job is to be scheduled the Test Job moves to the SCHEDULED state and awaits the scheduled date and time. If the Test Job is to be performed immediately, the Test Job moves to the IN_PROGRESS state and Test Results begin.| | `assessingCancellation` | ASSESSING_CANCELLATION | A Cancel Test Job request is received while the Test Job is in the IN_PROGRESS, SUSPENDED or SCHEDULED state. If the Cancel Test Job request is approved, the Test Job moves to the CANCELLED state. If not, the Test Job returns to the IN_PROGRESS, SUSPENDED or SCHEDULED state. | | `assessingModification` | ASSESSING_MODIFICATION | A Modify Test Job request was received while the Test Job is in the SUSPENDED or SCHEDULED state. If the Modify Test Job is accepted, the Test Job is updated. If the Modify Test Job is declined, the Test Job is not updated and returns to the SUSPENDED or SCHEDULED state. | | `cancelled` | CANCELLED | A Cancel Test Job request is received from the Buyer/Client. If the request is accepted, the Test Job moves to the CANCELLED state. The Test Job must be in the IN_PROGRESS, SCHEDULED, or SUSPENDED, state. | | `completed` | COMPLETED | The Test Job has reached the End Date Time or has completed all Test Measurements and provided Test Results. | | `inProgress` | IN_PROGRESS | Whether an immediate request or a scheduled request, the Test Job moves to the IN_PROGRESS state when it begins performing Test Results. If a Cancel Test Job request is received and accepted, the Test Job moves to the CANCELLED state. If the Cancel Test Job request is declined, the Test Job returns to the IN_PROGRESS state and continues Test Results until they are completed. If a Suspend Test Job request is received, the Test Job moves to the SUSPENDED state. | | `rejected` | REJECTED | The Create Test Job request fails validation and is rejected. | | `scheduled` | SCHEDULED | The Test Job is scheduled to start at a later time. The Test Job stays in the SCHEDULED state until the Start Date and Time is reached. The Test Job moves to IN_PROGRESS when the Start Date and Time is reached. A Test Job with the state SCHEDULED can be moved to the SUSPENDED or CANCELLED state. | | `suspended` | SUSPENDED | A Test Job in the IN_PROGRESS or SCHEDULED state receives a Suspend Test Job request. The Test Job moves to the SUSPENDED state. | type: string enum: - acknowledged - assessingCancellation - assessingModification - cancelled - completed - inProgress - rejected - scheduled - suspended TestJobProcessEventPayload: description: The identifier of the Test Job Process being subject of this event. type: object properties: id: description: ID of the Test Job Process type: string href: description: Hyperlink to access the Test Job Process type: string state: description: The current state of the Test Job Process $ref: '#/components/schemas/TestJobProcessStateType' required: - id - state TestJobProcessStateType: type: string description: |- The state of the process related to Test Job | state | Mplify 136.1 name | Description | | -------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `accepted` | ACCEPTED | The Modify/Cancel/Resume/Suspend Test Job request has been accepted and processed by the Seller/Server. | | `acknowledged` | ACKNOWLEDGED | The Modify/Cancel/Resume/Suspend Test Job request has been received by the Seller/Server and has passed basic validation. Test Job Process Identifier is assigned in the Acknowledged state. The request remains in the Acknowledged state until all validations as applicable are completed. If the attributes are validated, the request moves to the Accepted state. If not all attributes are validated, the request moves to the Rejected state. | | `rejected` | REJECTED | The Modify/Cancel/Resume/Suspend Test Job request has been rejected by the Seller/Server. | enum: - accepted - acknowledged - rejected TestProfileCreateEvent: allOf: - $ref: '#/components/schemas/Event' - type: object properties: eventType: description: | Indicates the type of the event. type: string enum: - testProfileCreateEvent event: description: | A reference to the object that is source of the notification. $ref: '#/components/schemas/TestProfileEventPayload' required: - event - eventType TestProfileAttributeValueChangeEvent: allOf: - $ref: '#/components/schemas/Event' - type: object properties: eventType: description: | Indicates the type of the event. type: string enum: - testProfileAttributeValueChangeEvent event: description: | A reference to the object that is source of the notification. $ref: '#/components/schemas/TestProfileEventPayload' required: - event - eventType TestProfileDeleteEvent: allOf: - $ref: '#/components/schemas/Event' - type: object properties: eventType: description: | Indicates the type of the event. type: string enum: - testProfileDeleteEvent event: description: | A reference to the object that is source of the notification. $ref: '#/components/schemas/TestProfileEventPayload' required: - event - eventType TestProfileLifecycleStateChangeEvent: allOf: - $ref: '#/components/schemas/Event' - type: object properties: eventType: description: | Indicates the type of the event. type: string enum: - testProfileLifecycleStateChangeEvent event: description: | A reference to the object that is source of the notification. $ref: '#/components/schemas/TestProfileLifecycleStateChangeEventPayload' required: - event - eventType TestProfileEventPayload: description: The identifier of the Test Profile being subject of this event. type: object properties: id: description: ID of the Test Profile type: string href: description: Hyperlink to access the Test Profile type: string required: - id TestProfileLifecycleStateChangeEventPayload: allOf: - $ref: '#/components/schemas/TestProfileEventPayload' - type: object properties: lifecycleState: description: The current state of the Test Job $ref: '#/components/schemas/TestProfileLifecycleStateType' required: - state TestProfileLifecycleStateType: description: |- Current lifecycle status of the Test Profile. | State | Mplify 136.1 name | Description | | -------------- | ------------------- | ---------------------------------------------------------------------------------------------- | | `assigned` | ASSIGNED | The Test Profile has been assigned to a Test Job. | | `available` | AVAILABLE | The Test Profile has been created or modified and is ready for users to specify in a Test Job. | type: string enum: - assigned - available TestResultCreateEvent: allOf: - $ref: '#/components/schemas/Event' - type: object properties: eventType: description: | Indicates the type of the event. type: string enum: - testResultCreateEvent event: description: | A reference to the object that is source of the notification. $ref: '#/components/schemas/TestResultEventPayload' required: - event - eventType TestResultEventPayload: description: The identifier of the Test Result being subject of this event. type: object properties: id: description: ID of the Test Result type: string href: description: Hyperlink to access the Test Result type: string required: - id