openapi: 3.0.1 info: description: | **This file forms part of Mplify 148** **This API implements part of Business Requirements & Use Cases described in Mplify 133.1** Fault Management allows the Buyer/Client to request that the Seller/Server performs Fault Management Job on a service, an ordered pair, or an entity, collect Fault Management Reports, as well as receive notifications. This allows managing issues and situation that are not part of normal operations. List of supported use cases: - Send Event Notification Copyright 2025 Mplify Alliance and its contributors. title: Fault Management Notification version: 3.0.0 servers: - url: 'https://{serverBase}/mefApi/allegro/faultNotification/v3/' variables: serverBase: default: mplify.net description: The base of Buyer/Client's URL. tags: - description: >- The Buyer/Client's endpoint to send particular event types notifications to. name: Notification listeners paths: /listener/faultManagementJobCreateEvent: post: description: >- Client listener for receiving the faultManagementJobCreateEvent notification. operationId: faultManagementJobCreateEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/FaultManagementJobCreateEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Fault Management Job Create Notification endpoint. tags: - Notification listeners /listener/faultManagementJobStateChangeEvent: post: description: >- Client listener for receiving the faultManagementJobStateChangeEvent notification. operationId: faultManagementJobStateChangeEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/FaultManagementJobStateChangeEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Fault Management Job State Change Notification endpoint. tags: - Notification listeners /listener/faultManagementJobAttributeValueChangeEvent: post: description: >- Client listener for receiving the faultManagementJobAttributeValueChangeEvent notification. operationId: faultManagementJobAttributeValueChangeEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/FaultManagementJobAttributeValueChangeEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Fault Management Job Attribute Value Change Notification endpoint. tags: - Notification listeners /listener/faultManagementJobReportReadyEvent: post: description: >- Client listener for receiving the faultManagementJobReportReadyEvent notification. operationId: faultManagementJobReportReadyEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/FaultManagementJobReportReadyEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Fault Management Job Report Ready Notification endpoint. tags: - Notification listeners /listener/faultManagementJobReportPreparationErrorEvent: post: description: >- Client listener for receiving the faultManagementJobReportPreparationErrorEvent notification. operationId: faultManagementJobReportPreparationErrorEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/FaultManagementJobReportPreparationErrorEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Fault Management Job Report Preparation Error Notification endpoint. tags: - Notification listeners /listener/cancelFaultManagementJobStateChangeEvent: post: description: >- Client listener for receiving the cancelFaultManagementJobStateChangeEvent notification. operationId: cancelFaultManagementJobStateChangeEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CancelFaultManagementJobStateChangeEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Cancel Fault Management Job State Change Notification endpoint. tags: - Notification listeners /listener/modifyFaultManagementJobStateChangeEvent: post: description: >- Client listener for receiving the modifyFaultManagementJobStateChangeEvent notification. operationId: modifyFaultManagementJobStateChangeEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ModifyFaultManagementJobStateChangeEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Modify Fault Management Job State Change Notification endpoint. tags: - Notification listeners /listener/faultManagementReportCreateEvent: post: description: >- Client listener for receiving the faultManagementReportCreateEvent notification. operationId: faultManagementReportCreateEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/FaultManagementReportCreateEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Fault Management Report Create Notification endpoint. tags: - Notification listeners /listener/faultManagementReportStateChangeEvent: post: description: >- Client listener for receiving the faultManagementReportStateChangeEvent notification. operationId: faultManagementReportStateChangeEvent requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/FaultManagementReportStateChangeEvent' description: The event data required: true responses: '204': description: 'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)' '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 '500': content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' description: Internal Server Error summary: Fault Management Report State Change Notification endpoint. tags: - Notification listeners components: schemas: CancelFaultManagementJobStateChangeEvent: allOf: - $ref: '#/components/schemas/Event' - type: object description: CancelFaultManagementJobStateChangeEvent structure properties: eventType: description: Indicates the type of Cancel Fault Management Job event. type: string enum: - cancelFaultManagementJobStateChangeEvent event: description: | A reference to the Cancel Fault Management Job that is source of the notification. $ref: '#/components/schemas/CancelFaultManagementJobStateChangeEventPayload' required: - event - eventType CancelFaultManagementJobStateChangeEventPayload: type: object description: |- A reference to the Cancel Fault Management Job that is source of the notification. properties: href: type: string description: Hyperlink to access the Cancel Fault Management Job. id: type: string description: ID of the Cancel Fault Management Job. state: $ref: '#/components/schemas/FaultManagementJobProcessStateType' description: |- The state of the Cancel Fault Management Job. required: - id - state Error: type: object description: > Standard Class used to describe API response error. Not intended to be use directly. The `code` in the HTTP header is used as a discriminator for the type of error returned in runtime. properties: reason: type: string description: >- Text that explains the reason for error. This can be shown to a client user. maxLength: 255 message: type: string description: >- Text that provide mode details and corrective actions related to the error. This can be shown to a client user. referenceError: type: string description: url pointing to documentation describing the error. format: uri required: - reason Error400: allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: $ref: '#/components/schemas/Error400Code' description: Error code required: - code description: 'Bad Request. (https://tools.ietf.org/html/rfc7231#section-6.5.1)' Error400Code: type: string 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. enum: - missingQueryParameter - missingQueryValue - invalidQuery - invalidBody Error401: allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: $ref: '#/components/schemas/Error401Code' description: Error code required: - code description: 'Unauthorized. (https://tools.ietf.org/html/rfc7235#section-3.1)' Error401Code: type: string description: |- One of the following error codes: - missingCredentials: No credentials provided. - invalidCredentials: Provided credentials are invalid or expired. enum: - missingCredentials - invalidCredentials Error403: allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: $ref: '#/components/schemas/Error403Code' description: Error code required: - code description: 'Forbidden. (https://tools.ietf.org/html/rfc7231#section-6.5.3)' Error403Code: type: string 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. enum: - accessDenied - forbiddenRequester - tooManyUsers Error500: allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: type: string description: >- One of the following error codes: - internalError: Internal server error - the server encountered an unexpected condition that prevented it from fulfilling the request. enum: - internalError required: - code description: >- Internal Server Error. (https://tools.ietf.org/html/rfc7231#section-6.6.1) 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 FaultManagementJobAttributeValueChangeEvent: allOf: - $ref: '#/components/schemas/Event' - type: object description: FaultManagementJobAttributeValueChangeEvent structure properties: eventType: description: Indicates the type of Fault Management Job event. type: string enum: - faultManagementJobAttributeValueChangeEvent event: description: | A reference to the Fault Management Job that is source of the notification. $ref: '#/components/schemas/FaultManagementJobEventPayload' required: - event - eventType FaultManagementJobCreateEvent: allOf: - $ref: '#/components/schemas/Event' - type: object description: FaultManagementJobCreateEvent structure properties: eventType: description: Indicates the type of Fault Management Job event. type: string enum: - faultManagementJobCreateEvent event: description: | A reference to the Fault Management Job that is source of the notification. $ref: '#/components/schemas/FaultManagementJobEventPayload' required: - event - eventType FaultManagementJobEventPayload: type: object description: >- A reference to the Fault Management Job that is source of the notification. properties: href: type: string description: Hyperlink to access the Fault Management Job. id: type: string description: ID of the Fault Management Job. required: - id FaultManagementJobProcessStateType: type: string description: |- The state of the process related to the Fault Management Job | state | Mplify 133 name | Description | | -------------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `acknowledged` | Acknowledged | The Cancel/Modify Fault Management Job request has been received by the Seller/Server and has passed basic validation. Fault Management Job Process Identifier is assigned in the Acknowledged state. The request remains Acknowledged until all validations as applicable are completed. If the attributes are validated, the request moves to the In-Progress state. If not all attributes are validated, the request moves to the Rejected state. | | `completed` | Completed | The Cancel/Modify Fault Management Job request has been completed by the Seller/Server. | | `inProgress` | In-Progress | The Cancel/Modify Fault Management Job request has been validated and accepted by the Seller/Server and is in-progress. | | `rejected` | Rejected | The Cancel/Modify Fault Management Job request has failed validation and has been declined by the Seller/Server. | enum: - acknowledged - completed - inProgress - rejected FaultManagementJobReportPreparationErrorEvent: allOf: - $ref: '#/components/schemas/Event' - description: FaultManagementJobReportPreparationErrorEvent structure type: object properties: eventType: description: Indicates the type of Fault Management Job event. type: string enum: - faultManagementJobReportPreparationErrorEvent event: description: | A reference to the Fault Management Job that is source of the notification. $ref: '#/components/schemas/FaultManagementJobReportPreparationErrorEventPayload' required: - event - eventType FaultManagementJobReportPreparationErrorEventPayload: type: object description: >- A reference to the Fault Management Job that is source of the notification. properties: href: type: string description: Hyperlink to access the Fault Management Job. id: type: string description: ID of the Fault Management Job. required: - id FaultManagementJobReportReadyEvent: allOf: - $ref: '#/components/schemas/Event' - description: FaultManagementJobReportReadyEvent structure type: object properties: eventType: description: Indicates the type of Fault Management Job event. type: string enum: - faultManagementJobReportReadyEvent event: description: | A reference to the Fault Management Job that is source of the notification. $ref: '#/components/schemas/FaultManagementJobReportReadyEventPayload' required: - event - eventType FaultManagementJobReportReadyEventPayload: type: object description: >- A reference to the Fault Management Job that is source of the notification. properties: href: type: string description: Hyperlink to access the Fault Management Job. id: type: string description: ID of the Fault Management Job. reportHref: type: string description: Hyperlink to access the Fault Management Report. reportId: type: string description: ID of generated Fault Management Report. required: - id - reportId FaultManagementJobStateChangeEvent: allOf: - $ref: '#/components/schemas/Event' - type: object description: FaultManagementJobStateChangeEvent structure properties: eventType: description: Indicates the type of Fault Management Job event. type: string enum: - faultManagementJobStateChangeEvent event: description: | A reference to the Fault Management Job that is source of the notification. $ref: '#/components/schemas/FaultManagementJobStateChangeEventPayload' required: - event - eventType FaultManagementJobStateChangeEventPayload: type: object description: >- A reference to the Fault Management Job that is source of the notification. properties: href: type: string description: Hyperlink to access the Fault Management Job. id: type: string description: ID of the Fault Management Job. state: $ref: '#/components/schemas/FaultManagementJobStateType' description: |- The state of the Fault Management Job. required: - id - state FaultManagementJobStateType: type: string description: |- The state of the Fault Management Job. | state | Mplify 133 name | Description | | ----------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `acknowledged` | Acknowledged | A Create Fault Management Job request has been received by the Seller/Server and has passed basic validation. Fault Management Job Identifier is assigned in the Acknowledged state. The request remains Acknowledged until all validations as applicable are completed. If the attributes are validated the request determines if the start time is immediate or scheduled. If immediate, the Fault Management Job moves to the In-progress state. If scheduled, the Fault Management Job moves to the Scheduled state. If not all attributes are validated, the request moves to the Rejected state. | | `cancelled` | Cancelled | A Fault Management Job that is In-Progress, Suspended, or Scheduled is cancelled. | | `completed` | Completed | A non-recurring Fault Management Job finished execution. | | `inProgress` | In-Progress | A Fault Management Job is running. Upon completion of the Job, a determination if the Fault Management Job is a one-time Job or is recurring is performed. If the Fault Management Job is a one-time Job, the state of the Fault Management Job moves to the Completed state. If the Fault Management Job is recurring, the Fault Management Job circles back to determine if it has an immediate start time or a scheduled start time. If a Suspend Fault Management Job request is accepted, the Job moves to the Suspended state. If a Cancel Fault Management Job request is accepted, the Job moves to the Cancelled state. | | `pending` | Pending | A Modify Fault Management Job request has been accepted by the Seller/Server. The Fault Management Job remains Pending while updates to the Job are completed. Once updates are complete, the Job returns to the Scheduled or In-Progress status depending on the schedule definition. | | `pendingCancel` | Pending Cancel | A Cancel Fault Management Job request has been accepted by the Seller/Server. The Fault Management Job remains Pending Cancel while resources used by the Job are being released. Once updates are complete, the Job moves to the Cancelled status. | | `rejected` | Rejected | A Create Fault Management Job request fails validation and is rejected with error indications by the Seller/Server. | | `resourcesUnavailable` | Resources Unavailable | A Fault Management Job cannot be allocated necessary resources when moving to execution (In-Progress state). | | `scheduled` | Scheduled | A Fault Management Job is created that does not have an immediate start time. The Fault Management Job stays Scheduled until the start time is reached. The Fault Management Job then moves to In-Progress. If the Cancel Fault Management Job request is accepted, the Job moves to the Cancelled state. If the Modify Fault Management Job request is accepted, the Job moves to the Pending state. | | `suspended` | Suspended | A Suspend Fault Management Job request is accepted by the Seller/Server. The Job remains Suspended until a Resume Fault Management Job request is accepted by the Seller/Server at which time the Job returns to the In-Progress state. If the Cancel Fault Management Job request is accepted, the Job moves to the Cancelled state. If the Modify Fault Management Job request is accepted, the Job moves to the Pending state. | enum: - acknowledged - cancelled - completed - inProgress - pending - pendingCancel - rejected - resourcesUnavailable - scheduled - suspended FaultManagementReportCreateEvent: allOf: - $ref: '#/components/schemas/Event' - description: FaultManagementReportCreateEvent structure type: object properties: eventType: description: Indicates the type of Fault Management Report event. type: string enum: - faultManagementReportCreateEvent event: description: | A reference to the Fault Management Report that is source of the notification. $ref: '#/components/schemas/FaultManagementReportEventPayload' required: - event - eventType FaultManagementReportEventPayload: type: object description: >- A reference to the Fault Management Report that is the source of the notification. properties: href: type: string description: Hyperlink to access the Fault Management Report. id: type: string description: ID of the Fault Management Report. required: - id FaultManagementReportStateChangeEvent: allOf: - $ref: '#/components/schemas/Event' - description: FaultManagementReportStateChangeEvent structure type: object properties: eventType: description: Indicates the type of Fault Management Report event. type: string enum: - faultManagementReportStateChangeEvent event: description: | A reference to the Fault Management Report that is source of the notification. $ref: '#/components/schemas/FaultManagementReportStateChangeEventPayload' required: - event - eventType FaultManagementReportStateChangeEventPayload: type: object description: >- A reference to the Fault Management Report that is the source of the notification. properties: href: type: string description: Hyperlink to access the Fault Management Report. id: type: string description: ID of the Fault Management Report. state: $ref: '#/components/schemas/FaultManagementReportStateType' description: |- Possible values for the state of a Fault Management Report. required: - id - state FaultManagementReportStateType: type: string description: |- Possible values for the state of a Fault Management Report. | State | Description | | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | acknowledged | A Fault Management Report is created by the Seller/Server. Fault Management Report Identifier is assigned in the Acknowledged state. The report remains Acknowledged until all validations as applicable are completed. If the attributes are validated, the Fault Management Report moves to the In-Progress state. If not all attributes are validated, the report moves to the Rejected state. | | completed | A Fault Management Report is completed and results are available. | | failed | A Fault Management Report processing has failed. | | inProgress | A Fault Management Report processing has started. | | rejected | This state indicates that the request failed to meet validation rules for `FaultManagementReport` delivery (processing). | enum: - acknowledged - completed - failed - inProgress - rejected ModifyFaultManagementJobStateChangeEvent: allOf: - $ref: '#/components/schemas/Event' - description: ModifyFaultManagementJobStateChangeEvent structure type: object properties: eventType: description: Indicates the type of Modify Fault Management Job event. type: string enum: - modifyFaultManagementJobStateChangeEvent event: description: | A reference to the Modify Fault Management Job that is source of the notification. $ref: '#/components/schemas/ModifyFaultManagementJobStateChangeEventPayload' required: - event - eventType ModifyFaultManagementJobStateChangeEventPayload: type: object description: |- A reference to the Modify Fault Management Job that is source of the notification. properties: href: type: string description: Hyperlink to access the Modify Fault Management Job. id: type: string description: ID of the Modify Fault Management Job. state: $ref: '#/components/schemas/FaultManagementJobProcessStateType' description: |- The state of the Modify Fault Management Job. required: - id - state