{
    "swagger": "2.0",
    "info": {
        "title": "Incident",
        "description": "**TMF API Reference : TMF - 724 Incident**\n\n**Release : 22.5 - November 2022**\n\nThe Incident API provides a standardized client interface to Incident Management Systems for creating, tracking and managing Incidents as a result of an issue or problem identified by a customer or another system. \nExamples of Incident API originators (clients) include CRM applications, network management or fault management systems, or other Incident management systems (e.g. B2B).\n\nThe API supports the ability to send requests to create a new Incident specifying the nature and severity of the trouble or issue as well as all necessary related information. The API also includes mechanisms to search for and update existing Incidents. Notifications are defined to provide information when a Incident has been updated, including status changes. A basic set of states of a Incident has been specified (as an example) to handle Incident lifecycle management.\nIncident API manages Incident resource:\n\n  -\tA Incident represents a record, or an issue raised by requestor that need to be solved, used for reporting and managing the resolution of problems, incidents or request -\tThe main Incident attributes are its name, priority, type,  dateTime attributes (occurTime, expected resolution, resolution), state and related information (change reason and change date), related parties (originator, owner, reviser, etc.), related entities (product, product order, customer bill) and notes Incident API performs the following operations on Incident -\tRetrieval of an Incident or a collection of Incident depending on filter criteria -\tPartial update of a Incident -\tCreation of an Incident -\tNotification of events on Incident: o\tIncident state change o\tIncident change o\tIncident resolved o\tIncident created o\tIncident Information required\n\n\n\nCopyright \u00a9 TM Forum 2022. All Rights Reserved\n\n\n",
        "version": "4.0.1"
    },
    "host": "serverRoot",
    "basePath": "/tmf-api/Incident/v4/",
    "schemes": [
        "https"
    ],
    "consumes": [
        "application/json;charset=utf-8"
    ],
    "produces": [
        "application/json;charset=utf-8"
    ],
    "tags": [
        {
            "name": "incident"
        },
        {
            "name": "diagnoseIncident"
        },
        {
            "name": "resolveIncident"
        },
        {
            "name": "notification listeners (client side)"
        },
        {
            "name": "events subscription"
        }
    ],
    "paths": {
        "/incident": {
            "get": {
                "operationId": "listIncident",
                "summary": "List or find Incident objects",
                "description": "This operation list or find Incident entities",
                "tags": [
                    "incident"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Incident"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createIncident",
                "summary": "Creates a Incident",
                "description": "This operation creates a Incident entity.",
                "tags": [
                    "incident"
                ],
                "parameters": [
                    {
                        "name": "incident",
                        "description": "The Incident to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Incident_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Incident"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/incident/{id}": {
            "get": {
                "operationId": "retrieveIncident",
                "summary": "Retrieves a Incident by ID",
                "description": "This operation retrieves a Incident entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "incident"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the Incident",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Incident"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/diagnoseIncident": {
            "get": {
                "operationId": "listDiagnoseIncident",
                "summary": "List or find DiagnoseIncident objects",
                "description": "This operation list or find DiagnoseIncident entities",
                "tags": [
                    "diagnoseIncident"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/DiagnoseIncident"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createDiagnoseIncident",
                "summary": "Creates a DiagnoseIncident",
                "description": "This operation creates a DiagnoseIncident entity.",
                "tags": [
                    "diagnoseIncident"
                ],
                "parameters": [
                    {
                        "name": "diagnoseIncident",
                        "description": "The DiagnoseIncident to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DiagnoseIncident_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/DiagnoseIncident"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/diagnoseIncident/{id}": {
            "get": {
                "operationId": "retrieveDiagnoseIncident",
                "summary": "Retrieves a DiagnoseIncident by ID",
                "description": "This operation retrieves a DiagnoseIncident entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "diagnoseIncident"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the DiagnoseIncident",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/DiagnoseIncident"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/resolveIncident": {
            "get": {
                "operationId": "listResolveIncident",
                "summary": "List or find ResolveIncident objects",
                "description": "This operation list or find ResolveIncident entities",
                "tags": [
                    "resolveIncident"
                ],
                "parameters": [
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "description": "Requested index for start of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "limit",
                        "description": "Requested number of resources to be provided in response",
                        "required": false,
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "headers": {
                            "X-Result-Count": {
                                "description": "Actual number of items returned in the response body",
                                "type": "integer"
                            },
                            "X-Total-Count": {
                                "description": "Total number of items matching criteria",
                                "type": "integer"
                            }
                        },
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ResolveIncident"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "operationId": "createResolveIncident",
                "summary": "Creates a ResolveIncident",
                "description": "This operation creates a ResolveIncident entity.",
                "tags": [
                    "resolveIncident"
                ],
                "parameters": [
                    {
                        "name": "resolveIncident",
                        "description": "The ResolveIncident to be created",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResolveIncident_Create"
                        },
                        "in": "body"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ResolveIncident"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/resolveIncident/{id}": {
            "get": {
                "operationId": "retrieveResolveIncident",
                "summary": "Retrieves a ResolveIncident by ID",
                "description": "This operation retrieves a ResolveIncident entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "resolveIncident"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the ResolveIncident",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "name": "fields",
                        "description": "Comma-separated properties to provide in response",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ResolveIncident"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/hub": {
            "post": {
                "operationId": "registerListener",
                "summary": "Register a listener",
                "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
                "tags": [
                    "events subscription"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "schema": {
                            "$ref": "#/definitions/EventSubscriptionInput"
                        },
                        "required": true,
                        "in": "body",
                        "description": "Data containing the callback endpoint to deliver the information"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Subscribed",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/hub/{id}": {
            "delete": {
                "operationId": "unregisterListener",
                "summary": "Unregister a listener",
                "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.",
                "tags": [
                    "events subscription"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "type": "string",
                        "required": true,
                        "in": "path",
                        "description": "The id of the registered listener"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/incidentCreateEvent": {
            "post": {
                "operationId": "listenToIncidentCreateEvent",
                "summary": "Client listener for entity IncidentCreateEvent",
                "description": "Example of a client listener for receiving the notification IncidentCreateEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/IncidentCreateEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/incidentStateChangeEvent": {
            "post": {
                "operationId": "listenToIncidentStateChangeEvent",
                "summary": "Client listener for entity IncidentStateChangeEvent",
                "description": "Example of a client listener for receiving the notification IncidentStateChangeEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/IncidentStateChangeEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/diagnoseIncidentCreateEvent": {
            "post": {
                "operationId": "listenToDiagnoseIncidentCreateEvent",
                "summary": "Client listener for entity DiagnoseIncidentCreateEvent",
                "description": "Example of a client listener for receiving the notification DiagnoseIncidentCreateEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/DiagnoseIncidentCreateEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/diagnoseIncidentStateChangeEvent": {
            "post": {
                "operationId": "listenToDiagnoseIncidentStateChangeEvent",
                "summary": "Client listener for entity DiagnoseIncidentStateChangeEvent",
                "description": "Example of a client listener for receiving the notification DiagnoseIncidentStateChangeEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/DiagnoseIncidentStateChangeEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/resolveIncidentCreateEvent": {
            "post": {
                "operationId": "listenToResolveIncidentCreateEvent",
                "summary": "Client listener for entity ResolveIncidentCreateEvent",
                "description": "Example of a client listener for receiving the notification ResolveIncidentCreateEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ResolveIncidentCreateEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/listener/resolveIncidentStateChangeEvent": {
            "post": {
                "operationId": "listenToResolveIncidentStateChangeEvent",
                "summary": "Client listener for entity ResolveIncidentStateChangeEvent",
                "description": "Example of a client listener for receiving the notification ResolveIncidentStateChangeEvent",
                "tags": [
                    "notification listeners (client side)"
                ],
                "parameters": [
                    {
                        "name": "data",
                        "required": true,
                        "in": "body",
                        "description": "The event data",
                        "schema": {
                            "$ref": "#/definitions/ResolveIncidentStateChangeEvent"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Notified",
                        "schema": {
                            "$ref": "#/definitions/EventSubscription"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "405": {
                        "description": "Method Not allowed",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "Addressable": {
            "type": "object",
            "description": "Base schema for adressable entities",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                }
            }
        },
        "Any": {},
        "Characteristic": {
            "type": "object",
            "description": "Describes a given characteristic of an object or entity through a name/value pair.",
            "required": [
                "name",
                "value"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier of the characteristic"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the characteristic"
                },
                "valueType": {
                    "type": "string",
                    "description": "Data type of the value of the characteristic"
                },
                "characteristicRelationship": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CharacteristicRelationship"
                    }
                },
                "value": {
                    "$ref": "#/definitions/Any",
                    "description": "The value of the characteristic"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "CharacteristicRelationship": {
            "type": "object",
            "description": "Another Characteristic that is related to the current Characteristic.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier of the characteristic"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "relationshipType": {
                    "type": "string",
                    "description": "The type of relationship"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "DiagnoseIncident": {
            "type": "object",
            "description": "A stage in the incident lifecycle. The purpose of diagnosis is to identify a workaround for an incident (ITIL Service Operation). \nDiagnosing Incidents by Incident SN",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Reference of the diagnose incident task"
                },
                "errorLog": {
                    "type": "string",
                    "description": "Reason for failure"
                },
                "incident": {
                    "$ref": "#/definitions/IncidentRef"
                },
                "state": {
                    "$ref": "#/definitions/TaskStateType"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "DiagnoseIncident_Create": {
            "type": "object",
            "description": "A stage in the incident lifecycle. The purpose of diagnosis is to identify a workaround for an incident (ITIL Service Operation). \nDiagnosing Incidents by Incident SN\nSkipped properties: id,href",
            "required": [
                "incident"
            ],
            "properties": {
                "errorLog": {
                    "type": "string",
                    "description": "Reason for failure"
                },
                "incident": {
                    "$ref": "#/definitions/IncidentRef"
                },
                "state": {
                    "$ref": "#/definitions/TaskStateType"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "Entity": {
            "type": "object",
            "description": "Base entity schema for use in TMForum Open-APIs",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "EntityRef": {
            "type": "object",
            "description": "Entity reference schema to be use for all entityRef class.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related entity."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "Extensible": {
            "type": "object",
            "description": "Base Extensible schema for use in TMForum Open-APIs",
            "properties": {
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ExternalIdentifier": {
            "type": "object",
            "description": "An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list.",
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "example": "MC2255771199555",
                    "type": "string",
                    "description": "identification of the entity within the external system."
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "externalIdentifierType": {
                    "example": "ProductOrder",
                    "type": "string",
                    "description": "Type of the identification, typically would be the type of the entity within the external system"
                },
                "owner": {
                    "example": "MagentoCommerce",
                    "type": "string",
                    "description": "Name of the external system that owns the entity."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ImpactType": {
            "type": "string",
            "description": "Possible values for the impact of an Incident",
            "enum": [
                "extensive",
                "significant",
                "moderate",
                "minor"
            ]
        },
        "Incident": {
            "type": "object",
            "description": "An Incident is a record of an event that has altered the operational state of a entity (Resource, Service or Customers Product). An incident represents an issue that needs to be diagnosed and resolved.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "description": "Hyperlink, a reference to the incident entity"
                },
                "ackTime": {
                    "example": "2022-03-10T04:01:12Z",
                    "type": "string",
                    "format": "date-time",
                    "description": "The ackTime or acknowledgeTime of the incident. An acknowledged incident is being worked on, but is not yet resolved"
                },
                "category": {
                    "example": "BTS Software Fault",
                    "type": "string",
                    "description": "The category of the incident  (category is the term used by ITU) "
                },
                "clearTime": {
                    "example": "2022-03-10T04:01:12Z",
                    "type": "string",
                    "format": "date-time",
                    "description": "The clear time of the incident"
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the incident, for example RAN, PON, OTN, Cross-Domain etc"
                },
                "incidentDetail": {
                    "type": "string",
                    "description": "A textual succinct description of the nature, symptoms, cause, or effect of the incident."
                },
                "incidentResolutionSuggestion": {
                    "type": "string",
                    "description": "Incident resolution suggestion or tip to resolve the incident"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the incident. A short-form string that provides succinct, important information about the incident"
                },
                "occurTime": {
                    "example": "2022-03-10T04:01:12Z",
                    "type": "string",
                    "format": "date-time",
                    "description": "Indicates the time (as a date + time) at which the incident occurred at its source"
                },
                "updateTime": {
                    "example": "2022-03-10T04:01:12Z",
                    "type": "string",
                    "description": "The last update time  of the incident"
                },
                "ackState": {
                    "$ref": "#/definitions/IncidentAckStateType",
                    "description": "Provides the Acknowledgement State of the incident (unacknowledged | acknowledged)."
                },
                "affectedEntity": {
                    "example": "e.g  a ref to a service or resource",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EntityRef"
                    },
                    "description": "List of affected entities "
                },
                "eventId": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceEntity"
                    },
                    "description": "The correlation event object such as alarm, externalAlarm, performance, etc."
                },
                "extensionInfo": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Characteristic"
                    },
                    "description": "This is used for extend the incident with attributes"
                },
                "externalIdentifier": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ExternalIdentifier"
                    },
                    "description": "An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list."
                },
                "impact": {
                    "$ref": "#/definitions/ImpactType",
                    "description": "Impact which indicates the degree of impact on affected services or users. This field is optional. The options are extensive, significant, moderate, and minor"
                },
                "priority": {
                    "$ref": "#/definitions/PriorityType",
                    "description": "The priority  of the incident, priority  critical/high/medium/low"
                },
                "rootCause": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RootCause"
                    },
                    "description": "A root cause is a fundamental or underlying reason behind why an incident occurred that identifies one or more failures. An incident many have multiple rootCauses"
                },
                "rootEventId": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceEntity"
                    },
                    "description": "The root event object such as alarm, externalAlarm, performance, etc."
                },
                "sourceObject": {
                    "example": "e.g. weak optical signals, the fault object is a PON port, the root cause is an optical splitter, and the affected object is an ONU",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceEntity"
                    },
                    "description": "The objects show the incident, it may be part of Network Equipment. Fault object, which may be an NE or a port."
                },
                "state": {
                    "$ref": "#/definitions/IncidentStateType",
                    "description": "Incident state. The options are raised | updated | cleared. Cleared means Resolved)"
                },
                "urgency": {
                    "$ref": "#/definitions/UrgencyType",
                    "description": "Urgency is the speed required for resolving the service issues. A measure of how long it will be until an incident has a significant impact on the business. This field is optional. The options are critical, high, medium, and low"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "Incident_Create": {
            "type": "object",
            "description": "An Incident is a record of an event that has altered the operational state of a entity (Resource, Service or Customers Product). An incident represents an issue that needs to be diagnosed and resolved.\nSkipped properties: id,href,lifecycleStatus,creationDate,statusChangeDate",
            "required": [
                "name",
                "category",
                "priority",
                "state",
                "ackState",
                "occurTime",
                "domain",
                "sourceObject"
            ],
            "properties": {
                "ackTime": {
                    "example": "2022-03-10T04:01:12Z",
                    "type": "string",
                    "format": "date-time",
                    "description": "The ackTime or acknowledgeTime of the incident. An acknowledged incident is being worked on, but is not yet resolved"
                },
                "category": {
                    "example": "BTS Software Fault",
                    "type": "string",
                    "description": "The category of the incident  (category is the term used by ITU) "
                },
                "clearTime": {
                    "example": "2022-03-10T04:01:12Z",
                    "type": "string",
                    "format": "date-time",
                    "description": "The clear time of the incident"
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the incident, for example RAN, PON, OTN, Cross-Domain etc"
                },
                "incidentDetail": {
                    "type": "string",
                    "description": "A textual succinct description of the nature, symptoms, cause, or effect of the incident."
                },
                "incidentResolutionSuggestion": {
                    "type": "string",
                    "description": "Incident resolution suggestion or tip to resolve the incident"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the incident. A short-form string that provides succinct, important information about the incident"
                },
                "occurTime": {
                    "example": "2022-03-10T04:01:12Z",
                    "type": "string",
                    "format": "date-time",
                    "description": "Indicates the time (as a date + time) at which the incident occurred at its source"
                },
                "updateTime": {
                    "example": "2022-03-10T04:01:12Z",
                    "type": "string",
                    "description": "The last update time  of the incident"
                },
                "ackState": {
                    "$ref": "#/definitions/IncidentAckStateType",
                    "description": "Provides the Acknowledgement State of the incident (unacknowledged | acknowledged)."
                },
                "affectedEntity": {
                    "example": "e.g  a ref to a service or resource",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EntityRef"
                    },
                    "description": "List of affected entities "
                },
                "eventId": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceEntity"
                    },
                    "description": "The correlation event object such as alarm, externalAlarm, performance, etc."
                },
                "extensionInfo": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Characteristic"
                    },
                    "description": "This is used for extend the incident with attributes"
                },
                "externalIdentifier": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ExternalIdentifier"
                    },
                    "description": "An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list."
                },
                "impact": {
                    "$ref": "#/definitions/ImpactType",
                    "description": "Impact which indicates the degree of impact on affected services or users. This field is optional. The options are extensive, significant, moderate, and minor"
                },
                "priority": {
                    "$ref": "#/definitions/PriorityType",
                    "description": "The priority  of the incident, priority  critical/high/medium/low"
                },
                "rootCause": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RootCause"
                    },
                    "description": "A root cause is a fundamental or underlying reason behind why an incident occurred that identifies one or more failures. An incident many have multiple rootCauses"
                },
                "rootEventId": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceEntity"
                    },
                    "description": "The root event object such as alarm, externalAlarm, performance, etc."
                },
                "sourceObject": {
                    "example": "e.g. weak optical signals, the fault object is a PON port, the root cause is an optical splitter, and the affected object is an ONU",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceEntity"
                    },
                    "minItems": 1,
                    "description": "The objects show the incident, it may be part of Network Equipment. Fault object, which may be an NE or a port."
                },
                "state": {
                    "$ref": "#/definitions/IncidentStateType",
                    "description": "Incident state. The options are raised | updated | cleared. Cleared means Resolved)"
                },
                "urgency": {
                    "$ref": "#/definitions/UrgencyType",
                    "description": "Urgency is the speed required for resolving the service issues. A measure of how long it will be until an incident has a significant impact on the business. This field is optional. The options are critical, high, medium, and low"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "IncidentAckStateType": {
            "type": "string",
            "description": "Possible values for the ack state of an Incident",
            "enum": [
                "acknowledged",
                "unacknowledged"
            ]
        },
        "IncidentRef": {
            "type": "object",
            "description": "Incident reference.",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the related incident"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                }
            },
            "required": [
                "id"
            ]
        },
        "IncidentStateType": {
            "type": "string",
            "description": "Possible values for the state of an Incident",
            "enum": [
                "raised",
                "updated",
                "cleared"
            ]
        },
        "PriorityType": {
            "type": "string",
            "description": "Possible values for the Priority of an Incident",
            "enum": [
                "critical",
                "high",
                "medium",
                "low"
            ]
        },
        "ResolveIncident": {
            "type": "object",
            "description": "An incident resolution is an action taken to resolve/repair the root cause of an incident or problem, or to implement a workaround",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Identifier of the  incident to resolve"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Reference of the resolve incident task"
                },
                "clearTime": {
                    "type": "string",
                    "description": "The clear time  of the incident, for example 2020-03-10T04:01:12Z"
                },
                "errorLog": {
                    "type": "string",
                    "description": "Reason for failure"
                },
                "incident": {
                    "$ref": "#/definitions/IncidentRef"
                },
                "state": {
                    "$ref": "#/definitions/TaskStateType"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ResolveIncident_Create": {
            "type": "object",
            "description": "An incident resolution is an action taken to resolve/repair the root cause of an incident or problem, or to implement a workaround\nSkipped properties: id,href",
            "required": [
                "incident"
            ],
            "properties": {
                "clearTime": {
                    "type": "string",
                    "description": "The clear time  of the incident, for example 2020-03-10T04:01:12Z"
                },
                "errorLog": {
                    "type": "string",
                    "description": "Reason for failure"
                },
                "incident": {
                    "$ref": "#/definitions/IncidentRef"
                },
                "state": {
                    "$ref": "#/definitions/TaskStateType"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "ResourceEntity": {
            "type": "object",
            "description": "Base schema for REST Resources",
            "properties": {
                "id": {
                    "example": "aac9969d-219d-4ff1-b256-1765dcf9b342",
                    "type": "string",
                    "description": "ID created by the implementing service"
                },
                "href": {
                    "example": "http://myservice.com/resource-path",
                    "type": "string",
                    "description": "Hyperlink to access the test resource"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "RootCause": {
            "type": "object",
            "description": "The name of RootCause, for example:Power Down",
            "required": [
                "location"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "unique identifier"
                },
                "href": {
                    "type": "string",
                    "format": "uri",
                    "description": "Hyperlink reference"
                },
                "location": {
                    "example": "Ne Name=cc_lte1, Cabinet No.=0, Subrack No.=0, Slot No.=0",
                    "type": "string"
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class Extensible name"
                }
            }
        },
        "TaskStateType": {
            "type": "string",
            "description": "Possible values for the state of a task",
            "enum": [
                "accepted",
                "terminatedWithError",
                "inProgress",
                "done"
            ]
        },
        "UrgencyType": {
            "type": "string",
            "description": "Possible values for the urgency of an Incident",
            "enum": [
                "critical",
                "high",
                "medium",
                "low"
            ]
        },
        "EventSubscription": {
            "type": "object",
            "description": "Sets the communication endpoint address the service instance must use to deliver notification information",
            "required": [
                "id",
                "callback"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Id of the listener"
                },
                "callback": {
                    "type": "string",
                    "description": "The callback being registered."
                },
                "query": {
                    "type": "string",
                    "description": "additional data to be passed"
                }
            }
        },
        "EventSubscriptionInput": {
            "type": "object",
            "description": "Sets the communication endpoint address the service instance must use to deliver notification information",
            "required": [
                "callback"
            ],
            "properties": {
                "callback": {
                    "type": "string",
                    "description": "The callback being registered."
                },
                "query": {
                    "type": "string",
                    "description": "additional data to be passed"
                }
            }
        },
        "IncidentCreateEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/IncidentCreateEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "IncidentCreateEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "incident": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/Incident"
                }
            }
        },
        "IncidentStateChangeEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/IncidentStateChangeEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "IncidentStateChangeEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "incident": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/Incident"
                }
            }
        },
        "DiagnoseIncidentCreateEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/DiagnoseIncidentCreateEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "DiagnoseIncidentCreateEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "diagnoseIncident": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/DiagnoseIncident"
                }
            }
        },
        "DiagnoseIncidentStateChangeEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/DiagnoseIncidentStateChangeEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "DiagnoseIncidentStateChangeEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "diagnoseIncident": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/DiagnoseIncident"
                }
            }
        },
        "ResolveIncidentCreateEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ResolveIncidentCreateEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ResolveIncidentCreateEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "resolveIncident": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ResolveIncident"
                }
            }
        },
        "ResolveIncidentStateChangeEvent": {
            "type": "object",
            "description": "The notification data structure",
            "properties": {
                "event": {
                    "description": "The event payload linked to the involved resource object",
                    "$ref": "#/definitions/ResolveIncidentStateChangeEventPayload"
                },
                "eventId": {
                    "type": "string",
                    "description": "The identifier of the notification."
                },
                "eventTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of the event occurrence."
                },
                "eventType": {
                    "type": "string",
                    "description": "The type of the notification."
                },
                "correlationId": {
                    "type": "string",
                    "description": "The correlation id for this event."
                },
                "domain": {
                    "type": "string",
                    "description": "The domain of the event."
                },
                "title": {
                    "type": "string",
                    "description": "The title of the event."
                },
                "description": {
                    "type": "string",
                    "description": "An explnatory of the event."
                },
                "priority": {
                    "type": "string",
                    "description": "A priority."
                },
                "timeOcurred": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time the event occured."
                }
            }
        },
        "ResolveIncidentStateChangeEventPayload": {
            "type": "object",
            "description": "The event data structure",
            "properties": {
                "resolveIncident": {
                    "description": "The involved resource data for the event",
                    "$ref": "#/definitions/ResolveIncident"
                }
            }
        },
        "Error": {
            "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)",
            "type": "object",
            "required": [
                "code",
                "reason"
            ],
            "properties": {
                "code": {
                    "type": "string",
                    "description": "Application relevant detail, defined in the API or a common list."
                },
                "reason": {
                    "type": "string",
                    "description": "Explanation of the reason for the error which can be shown to a client user."
                },
                "message": {
                    "type": "string",
                    "description": "More details and corrective actions related to the error which can be shown to a client user."
                },
                "status": {
                    "type": "string",
                    "description": "HTTP Error code extension"
                },
                "referenceError": {
                    "type": "string",
                    "format": "uri",
                    "description": "URI of documentation describing the error."
                },
                "@baseType": {
                    "type": "string",
                    "description": "When sub-classing, this defines the super-class."
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "@type": {
                    "type": "string",
                    "description": "When sub-classing, this defines the sub-class entity name."
                }
            }
        }
    }
}